新手问路,有关TADOQUERY的问题
窗体上有BUTTON1
ADOCONNECTION
DATASOURCE1->ADOQUERY1
DATASOURCE2->ADOQUERY2
ADOQUERY1->ADOCONNECTION
ADOQUERY2->ADOCONNECTION
DBGRID1->DATASOURCE1
DBGRID2->DATASOURCE2
ADOQUERY1和2分别打开表1和表2
目的是让DBGRID1选中的项目插入到表2去,然后在DBGRID2中显示,可是在运行过程中,运行到ADOQuery2->ExecSQL();这一段的时候就出错,出错提示是这样的:
Project Project2.exe raised exception class EAccessViolation with message 'Access violation at address 1F48CAB in module'msado15.dll'.Write of address 01a8102c'.process stoped,use step or run to continue
希望各位达人不吝赐教,解小弟燃眉之急
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString s,songName,album,artist,file,orderid;
songName=DBGrid1->DataSource->DataSet->FieldByName("songname")->AsString;
album=DBGrid1->DataSource->DataSet->FieldByName("album")->AsString;
artist=DBGrid1->DataSource->DataSet->FieldByName("artist")->AsString;
file=DBGrid1->DataSource->DataSet->FieldByName("file")->AsString;
s="insert into playlist (songName,album,artist,file) values ('"+songName+"','"+album+"','"+artist+"','"+file+"')";
ADOQuery2->DisableControls();
ADOQuery2->Close();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add(s);
ADOQuery2->ExecSQL();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("select * from playlist");
ADOQuery2->Open();
DBGrid2->Refresh();
ADOQuery2->EnableControls();
}