我用adoquery datasource dbgrid选择数据库记录再显示数据,现在要实现用鼠标选中一条记录,然后点击一个“删除”按钮,删除数据库的该条记录,并且刷新dbgrid中的数据
解决方案 »
- 求助
- 请教这个C++函数如何转换成Delphi语句。在线等
- 解决问题就给分:关于AdvImage控件(播放jpg和gif等图像的控件)在D6,D7中引用出错的问题,哪位高手过来帮我看看?或者帮我找到D5的下载地
- 软件界面评比参考,小共享软件下载!欢迎大家踊跃提意见阿!
- 开张送分
- 如何写一个永远运行在前台的form
- 有谁知道美萍网管大师用什么数据库?
- 本人有一论坛,需要人管理。
- StrToDateTime函数应该怎么用??
- 我想做个主页, 大家帮我想个好听的名字吧! 谢谢
- 使用installshield express制作安装程序时,如何对建库脚本加密??
- 在delphi中怎样在指定的时间关闭窗体
var
vprod_id:sting;在dbgrid的click事件中写
vprod_id:=Trim(dbgrid1.Fields[0].AsString);////假设第一列是关键字
在删除按钮中写
adoquery2.close;
adoquery2.sql.clear;
adoquery2.sql.add( ' delete from table where prod_id='''+vprod_id+''' ');
adoquery2.exesql;ok了。
begin
ADOQry.Delete;
ADOQry.Last;
ADOQry.Close;
ADOQry.SQL.Clear;
ADOQry.SQL.Add('Select * from table');
ADOQry.Open;
ADOQry.Last;
ADOQry.First;
end;
adoquery.delete;
adoquery.Refresh;
adoquery.delete;
同意ncwuhh(愤怒中.....下辈子也要当官)的看法,
删除的当然是当前选中记录。
adoquery1.delete;
for i:=0 to DBGridEh1.SelectedRows.Count - 1 do
begin
GotoBook(pointer(DBGridEh1.SelectedRows.Items[i]));
if Pos(Trim(Fields[0].AsString), strCode) = 0 then
strCode := strCode + '''' + Trim(Fields[0].AsString) + ''',';
end;
strCode := Copy(strCode, 1, Length(strCode) - 1);
if strCode = '' then
strCode := '''''';
//删除的sql语句
strSql := 'Delete from report_uploaddata Where cUnitCode in (' + strCode + ')';
adoquery1.delete;自动刷新