初学,极其简单的问题

MasterMengYi 2008-12-22 11:17:09
  id:=dbgrid1.DataSource.DataSet.Fields[0].AsString;
upstr:='update zuozhe set zuozhe='+#39+trim(edit1.Text)+#39+' where zuozheid='+id;
adoquery1.SQL.Text:=upstr;
adoquery1.Close;
adoquery1.ExecSQL;
adoquery1.Active:=true;
datasource1.dataset:=adoquery1;//出错,
dbgrid1.DataSource:=datasource1;

首先在页面加载时绑定dbgrid,然后选择一行后,在edit1中输入文字,然后单击按钮执行以上代码,目的是更新数据‘zuozhe’。
现在能正常更新,但在注释处出错:当前提供程序不支持从单一执行返回多个记录集。
是不是datasource不能重新添加DataSet?
帮解释下,对delphi中的数据操作很陌生
...全文
40 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
MasterMengYi 2008-12-22
  • 打赏
  • 举报
回复
谢谢,明白
7年 2008-12-22
  • 打赏
  • 举报
回复
貌似你的顺序不对。
adoquery1.Close;
adoquery1.sq.clear;
adoquery1.SQL.add(upstr);
adoquery1.open;
starluck 2008-12-22
  • 打赏
  • 举报
回复


id:=dbgrid1.DataSource.DataSet.Fields[0].AsString;
upstr:='update zuozhe set zuozhe='+#39+trim(edit1.Text)+#39+' where zuozheid='+id;
Adoquery1.close;
adoquery1.SQL.Text:=upstr;
// adoquery1.Close;
adoquery1.ExecSQL;
Adoquery1.close;
adoquery1.sql.text := 'select * from zuozhe';
adoquery1.Active:=true;
datasource1.dataset:=adoquery1;//出错,
dbgrid1.DataSource:=datasource1;




UPDATE後你要返回的是數據集,所以必段重新打開那個表

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧