在DBGRID中怎样删除选定的记录?
1个回答
展开全部
//删除选中的记录varstrSql:string;beginwith TStringList.Create do try
TViewForm1.DBGlist.DataSource.DataSet.First;
while not TViewForm1.DBGlist.DataSource.DataSet.Eof do begin
if TViewForm1.DBGlist.SelectedRows.CurrentRowSelected then
Add(IntToStr(TViewForm1.DBGlist.DataSource.DataSet.RecNo));
TViewForm1.DBGlist.DataSource.DataSet.Next;end;strSql := 'delete * from article where articleID =:id';
while not TViewForm1.DBGlist.DataSource.DataSet.Bof do begin
if IndexOf(IntToStr(TViewForm1.DBGlist.DataSource.DataSet.RecNo)) = 0 then
// TViewForm1.DBGlist.DataSource.DataSet.Delete;
//获得被删除记录的ID(atricleID),并将它删除beginadoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(strSql);
adoquery1.Parameters[0].Value := TViewForm1.DBGlist.DataSource.DataSet.Fields[0].Value;
//adoquery1.Parameters[0].Value := 20;
adoquery1.ExecSQL;end;TViewForm1.DBGlist.DataSource.DataSet.Prior;end;//adoqtv.Refresh;
//TViewForm1.DBGlist.Refresh;
//TViewForm1.DBGlist.DataSource.DataSet.FindFirst;finallyFree;end;end;这是我的改进,现在可以删除记录了,但是再刷新DBGRID时
还是有同样的错误。
TViewForm1.DBGlist.DataSource.DataSet.First;
while not TViewForm1.DBGlist.DataSource.DataSet.Eof do begin
if TViewForm1.DBGlist.SelectedRows.CurrentRowSelected then
Add(IntToStr(TViewForm1.DBGlist.DataSource.DataSet.RecNo));
TViewForm1.DBGlist.DataSource.DataSet.Next;end;strSql := 'delete * from article where articleID =:id';
while not TViewForm1.DBGlist.DataSource.DataSet.Bof do begin
if IndexOf(IntToStr(TViewForm1.DBGlist.DataSource.DataSet.RecNo)) = 0 then
// TViewForm1.DBGlist.DataSource.DataSet.Delete;
//获得被删除记录的ID(atricleID),并将它删除beginadoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(strSql);
adoquery1.Parameters[0].Value := TViewForm1.DBGlist.DataSource.DataSet.Fields[0].Value;
//adoquery1.Parameters[0].Value := 20;
adoquery1.ExecSQL;end;TViewForm1.DBGlist.DataSource.DataSet.Prior;end;//adoqtv.Refresh;
//TViewForm1.DBGlist.Refresh;
//TViewForm1.DBGlist.DataSource.DataSet.FindFirst;finallyFree;end;end;这是我的改进,现在可以删除记录了,但是再刷新DBGRID时
还是有同样的错误。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询