主题:希望大家帮忙,有关用ADO连接到ACCESS表的操作问题
我在用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++,所以很多地方都有可能有错(低级的也有可能)。所以麻烦大家帮忙改正了。
附完整代码如下:
/---------------------------------------------------------------------------
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++,所以很多地方都有可能有错(低级的也有可能)。所以麻烦大家帮忙改正了。
附完整代码如下: