求Delphi程序

x1aogu1 2010-07-15 09:53:40
本人现在想做一个修改密码的程序,就是输入姓名后,再输入更改后的密码,就能在数据库中显示出来,
with adotable1 do
adotable1.Open;
if adotable1.Locate('ID',edit3.Text,[LoPartialKey]) then
begin
adotable1.Edit;
adotable1.Delete;
end;
try
adotable1.Append;
adotable1.FieldByName('ID').AsString:=trim(edit3.Text);
adotable1.FieldByName('Name').AsString:=trim(edit1.Text);

showmessage('恭喜,您的信息已经修改成功!');
except
showmessage('数据库链接出错!');
end;
adotable1.Post;

这个是我现在编完的程序,但是系统老是提示adotable1.FieldByName('Name').AsString:=trim(edit1.Text);

有错误,要是注释的话,虽然能修改,但在数据库中显示不出来,请亲们帮忙一下喽!急要!
...全文
135 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qhjio 2010-07-20
  • 打赏
  • 举报
回复
修改信息 直接 用sql update语句很快的
yudechibang88 2010-07-20
  • 打赏
  • 举报
回复
正常人的逻辑应该是直接修改,而不是删了再添加。。。
kaikai_kk 2010-07-16
  • 打赏
  • 举报
回复
with adotable1 do
begin
Open;
if Locate('ID',trim(edit3.Text),[LoPartialKey]) then
Edit
else
Append;
FieldByName('ID').AsString:=trim(edit3.Text);
FieldByName('Name').AsString:=trim(edit1.Text);
try
Post;
except
showmessage('数据库链接出错!');
exit;
end;
showmessage('恭喜,您的信息已经修改成功!');
end;
yshuui 2010-07-15
  • 打赏
  • 举报
回复
你写的东西有很多错误啊,逻辑上的。
为什么用with adotable1 do,用了之后没有begin和end.
adotable1.Delete;前不需要adotable1.Edit;
adotable1.Post;应写在try里。
不需要删除再添加,直接修改就可以。
lyhoo163 2010-07-15
  • 打赏
  • 举报
回复
不好意思,代码中汉字粘贴过得出现乱码。
lyhoo163 2010-07-15
  • 打赏
  • 举报
回复
我的修改代码:
SetDataSourceStr向表中写入数据(自定义函数)
SetDataSourceStr从表中读出数据(自定义函数)

if Edit1.text<>GetDataSourceStr3(CustomersDB.DataSource21,'²Ù×÷Ô±',OperateName,'ÃÜÂë') then
if Application.MessageBox(' ԭʼÃÜÂëÓÐÎó£¬ÖØÐÂÊäÈ룡 ',
PChar('¾¯¸æ' ),
MB_OK + MB_ICONWARNING) = IDOK then
begin
Edit1.text:='';
exit;
end;
if Edit2.text<>Edit3.text then
if Application.MessageBox(' ÐÂÃÜÂ벻ͬ£¬ÖØÐÂÊäÈ룡 ',
PChar('¾¯¸æ' ),
MB_OK + MB_ICONWARNING) = IDOK then
begin
Edit2.text:='';
Edit3.text:='';
exit;
end;
if (Edit2.text='') or (Edit3.text='') then
if Application.MessageBox(' δÌîÐÂÃÜÂ룬ÖØÐÂÊäÈ룡 ',
PChar('¾¯¸æ' ),
MB_OK + MB_ICONWARNING) = IDOK then
begin
Edit2.text:='';
Edit3.text:='';
exit;
end;
SetDataSourceStr(CustomersDB.DataSource21,'²Ù×÷Ô±',OperateName,'ÃÜÂë',Edit2.text);
Close;
if Application.MessageBox(' Íê³ÉÃÜÂë±ä¸ü£¡ ',
PChar('ÐÅÏ¢' ),
MB_OK + MB_ICONINFORMATION) = IDOK then ;
lyhoo163 2010-07-15
  • 打赏
  • 举报
回复
为什么要删除呢?可以修改值的方式....

2,497

社区成员

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

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