修改主键出现错误

cathasninelives 2011-03-11 05:07:59
With dm.ADOq do
begin
Close;
SQL.Clear;
SQL.Add('Select * From weixiudan Where no='''+edit3.Text+'''');
open;
try
Edit; //修改记录
FieldByName('ren').AsString:=cb4.Text;
FieldByName('cj').AsString:=cb1.Text;
FieldByName('no').AsString:=Edit3.Text;
FieldByName('wangdianhao').AsString:=edit4.Text;
Post;
refresh;
showmessage('修改成功');
except
showmessage('有误,请从新修改');
end;
end;


我用这个程序修改表的一般字段都正确 ,修改表的主键NO时候不能修改,每次都会新建一行,怎么能直接修改 不新建一行记录?
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
山东蓝鸟贵薪 2011-05-06
  • 打赏
  • 举报
回复
try
begin
with dm.ADOq do
begin
edit;
Fields[1].Value:=trim(Edit1.Text);
UpdateRecord;
UpdateBatch;
end;
showmessage('修改成功');
end;
except
showmessage('有误,请从新修改');
end;
//这样修改即可
cathasninelives 2011-03-15
  • 打赏
  • 举报
回复
表的主键是一个单据的编号 , 我每次修改这个编号时候都会自动在表里自动添加一行 内容和以前的一行一样编号是修改过的 怎样能不增加这一行在原来的编号上修改
浩南_哥 2011-03-15
  • 打赏
  • 举报
回复
主键是自动增加的??
cathasninelives 2011-03-15
  • 打赏
  • 举报
回复
谁知道是怎么弄啊 急用啊 帮帮忙!
cathasninelives 2011-03-11
  • 打赏
  • 举报
回复
可以直接删除主键?
wdljn 2011-03-11
  • 打赏
  • 举报
回复
把原来的no删掉就行了

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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