我在用BCB6做一个邮件群发程序时,用ADO连接到ACCESS表上,读取里面的数据到GBID上,并实现查询过滤功能,让邮件发送的“收件人地址”值循环读取过滤后的数据,实现群发。实现查询过滤功能的代码如下:
/---------------------------------------------------------------------------

void __fastcall TSendForm::ComboBox1Change(TObject *Sender)
{

      ComboBox2->Clear();
   if (ADODataSet2->Active)
      ADODataSet2->Close();
      ADODataSet2->CommandText="SELECT DISTINCT"+ComboBox1->Text+"FROM DX情况表";
        ADODataSet2->Open();
      ADODataSet2->First();
      while (!ADODataSet2->Eof)
      {
        ComboBox2->Items->Add(ADODataSet2->FieldByName(ComboBox1->Text)->AsString);
        ADODataSet2->Next();
      }
}
运行后没错,但是在软件上操作就会报错:“Project Mail.exe raised exception class EOleException with message'无效的SQL语句;期待'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或'UPDATE'。'.Process stopped. Use step or run to continue.”
请问哪里有问题。
我因为毕业设计第一次用BCB6,学过C++,所以很多地方都有可能有错(低级的也有可能)。所以麻烦大家帮忙改正了。
附完整代码如下: