lzth.net
当前位置:首页 >> DElphi DBgriD删除记录出错(删除选中行) ADquEry1:FiElD 'iD&... >>

DElphi DBgriD删除记录出错(删除选中行) ADquEry1:FiElD 'iD&...

adoquery1.SQL.Add('delete from jsj where id ='+id);----这一句的id是要将变量id的字符串值放在此处,且要用单引号括起来,可改为:adoquery1.SQL.Add('delete from jsj where id =' + '''' + id + '''');

dbgrid.datasource.dataset.delete;

1、是.DBGrid.DataSource.DataSet.FieldByName('no').AsString返回的是当前行的no字段中的值.2、没问题.这个delete方法是删除数据集的当前这一行数据,数据集打开后会默认选择第一行.当前行,也就是dbgrid中小三角指的那一行

DBGridColumn := DBGrid2.Columns.Add;index1:=DBGridColumn .index;

procedure TForm1.btn1Click(Sender: TObject);var i : Integer;begin if dbgrd1.SelectedRows.Count>0 then begin with q1 do for i:=0 to dbgrd1.SelectedRows.Count-1 do begin GotoBookmark(pointer(dbgrd1.SelectedRows.Items[i])); ShowMessage

如果是使用 dbgrid 控件,将 dbgrid 当前选中的多条记录删除,可以不用再借助于 adoquery 来完成删除记录操作.dbgrdi 控件本身提供了一些对记录的操作,当选中多条记录后,会将当前选中的数据保存在 SelectedRows 属性中,SelectedRows 被定义为 TBookmarkList 类型,提供了 delete 方法,专门用于删除当前选中的多个记录.因此,可以直接使用以下代码:

只要那句就可以了!你不是已经选择多条了吗!procedure TForm1.button1click(sender:tobject);begin dbgrid1.selectedrows.delete;end;就可以看见dbgrid里你选中的记录没有了啊!如果直接连的数据库响应的表里的数据也删除了

1 可以设置宽度的DBGrid.Columns[i].Width := xxxx可以根据列标题宽度自动设置一个宽度DBGrid.Columns[i].Width := Canvas.TextWidth(DBGrid.Columns[i].Title.Caption)2 很简单的办法,如果sql语句没有返回结果(update、insert这样的),dbgrid的数据源就改为空,此时应该显示的是上条语句的执行结果,比如“影响了多少行”,不应该继续显示表内容

//删除选中的记录varstrSql:string;beginwith TStringList.Create do tryTViewForm1.DBGlist.DataSource.DataSet.First;while not TViewForm1.DBGlist.DataSource.DataSet.Eof do beginif TViewForm1.DBGlist.SelectedRows.CurrentRowSelected

Table1.DisableControls; //禁止刷新DBGrid Table1.Delete; Table1.EnableControls; //允许刷新DBGrid

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com