用adoquery联表,请问"删除"按钮怎么写呀!!

tflb 2003-08-21 05:53:44
我写了一个但是不行呀!
procedure TF_main.suiButton17Click(Sender: TObject);
begin
datamodule1.adoq_xs.Edit ;
datamodule1.adoq_xs.delete;
end;

错误提示如下
row cannot be located for updating.some values may have been been changed since it was last read.
我想删除的是主表的数据.
但在数据库中数据已经被删除了.请指点一个
...全文
32 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
swayi21 2003-08-21
  • 打赏
  • 举报
回复
procedure TF_main.suiButton17Click(Sender: TObject);
begin
datamodule1.adoq_xs.Delete;
datamodule1.adoq_xs.Close;
datamodule1.adoq_xs.Open;
end;

Have a try to using Breakpoints and F7 to debug.

maoyesky 2003-08-21
  • 打赏
  • 举报
回复
你的沒有問題,是不是你用的是BDE連接的改為ODBC連接就好了
tflb 2003-08-21
  • 打赏
  • 举报
回复
datamodule1.ADOQ_xs.close;
datamodule1.ADOQ_xs.SQL.Clear;
datamodule1.ADOQ_xs.SQL.Add('delete from 学生表 where 学号='''+dbedit1.text+''' ');

datamodule1.ADOQ_xs.ExecsqL();

这样写为什么不能删除数据呀!!
tflb 2003-08-21
  • 打赏
  • 举报
回复
有人能帮我一下吗??
tflb 2003-08-21
  • 打赏
  • 举报
回复
其它语句应该没有问题的,
对了上面的删除操作是在adoquery的查询结果的基础上进行的删除,可以吗??
如果不行,应该怎么改??
swayi21 2003-08-21
  • 打赏
  • 举报
回复
是其他語句影響了吧,你把代碼貼出來看看。
tflb 2003-08-21
  • 打赏
  • 举报
回复
procedure TF_main.suiButton17Click(Sender: TObject);
begin
datamodule1.adoq_xs.delete;
end;

错误提示如下
row cannot be located for updating.some values may have been been changed since it was last read.

还是不行呀!!!
MichealLee 2003-08-21
  • 打赏
  • 举报
回复
//请问"删除"按钮怎么写呀!!

--如下:
datamodule1 数据模块?
datamodule1中放adoconnection即可。不用放adoquery.

F_main 主窗口?
F_main中放adoquery.
uses 中加入datamodule1。

然后:

procedure TF_main.suiButton17Click(Sender: TObject);
begin
adoq_xs.delete;
end;
yujohny 2003-08-21
  • 打赏
  • 举报
回复
在你adoq_xs的Afteropen事件写:
adoq_xs.RecordSet.Properties['unique Table'].Value:='你要删除的主表名'
然后在删除按钮写上你的以上代码就不会有错误了。
swayi21 2003-08-21
  • 打赏
  • 举报
回复
datamodule1.adoq_xs.delete; //Totally OK!

datamodule1.adoq_xs.Edit ; // It is not necessary

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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