首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

DBGrid数据剔除

2012-09-11 
DBGrid数据删除C/C++ code//这是插入的void __fastcall TForm1::btnenteringClick(TObject *Sender){ADOQu

DBGrid数据删除

C/C++ code
//这是插入的void __fastcall TForm1::btnenteringClick(TObject *Sender){      ADOQuery1->Close();      ADOQuery1->SQL->Clear();      ADOQuery1->SQL->Add("insert into personal_information values('"+edtname->Text+"','"+edtnation->Text+ \                           "','"+sex+"','"+age+"','"+birthdate+"','"+edtid->Text+"','"+np+"')\                           select Name,Nation,Sex,Age,CONVERT(varchar(10),Birthdate,20),IDcard,NP from personal_information");      ADOQuery1->Open();}//这是删除多行的void __fastcall TForm1::btndeleteClick(TObject *Sender){  for(int i=0;i<DBGrid1->SelectedRows->Count;i++)  {    DBGrid1->DataSource->DataSet->GotoBookmark((void *)DBGrid1->SelectedRows->Items[i].c_str());    DBGrid1->DataSource->DataSet->Delete();  } }      


可是开始执行就可以删除,1插入记录后再删除,虽然DBGrid中删除了,可是数据表中的记录没有删除,改怎么修改?


[解决办法]
估计你的adoquery的LockType是ltBatchOptimistic,那么提交数据更新的数据库是用UpdateBatch

加一句
DBGrid1->DataSource->DataSet->UpdateBatch(arAll );

热点排行