就是 旧密码:{ edit1 }
新密码:[ edit2 ]
确认密码:[ edit3 ]
确认 取消 这种模块的密码更改,应该怎么做?怎么以新密码替代旧密码?
新密码:[ edit2 ]
确认密码:[ edit3 ]
确认 取消 这种模块的密码更改,应该怎么做?怎么以新密码替代旧密码?
解决方案 »
- DELPHI 中怎么显示svg图形
- delphi+软件狗软件逆向工程求助
- 使用gridEH,为什么无法再使用 sql 语句控制ADOQuery1查询?
- 关于Delphi控件在Access中的表达
- 怎样获得TTreeView的根键!??
- 请教chartscrollbar 的 用法
- 一个很简单的日期转换问题
- 有谁知道adotable的cursorlocation是干什么的
- 要動態創建LABEL,又要在LABEL事件中執行代碼,該怎麼寫?
- 請問怎麼生成報表??我右鍵選'Preview'可以顯示記錄,但程序運行時一條也不顯示????
- 如何实现删除DBGRID中的记录后,数据库表中的记录自动删除(必须用QUERY)
- 用delphi调用execl,如何打开一个已存在的execl文件?有分
SQL.Add('Update Table1 Set Field1='+#39+Edit2.Text+#39)
SQL.Add('Where UserName='+#39+StringUserName+#39)
在local sql的帮助上
看来你革命的道路还很长啊,
还有,好多东西尽量自己动脑筋解决,
这样可以培养你解决问题的能力,
而这种能力是编程人员最重要的能力
原吗:buttonclick下:
begin
if edit1.text='' then
application.messagebox('原密码不能为空','提示',mb_ok)
else
begin
data.qu_kl.parambyname('passwd').value:=edit1.text;
if (data.qu_klgg.recordcount=1) and (edit2.text=edit3.text) then
begin
1,#######SQL.Add('Update Tbl_pass Set Field[2]='+#39+Edit2.Text+#39')
SQL.Add('Where UserName='+#39+StringUserName+#39')
edit1.text:='';
edit2.text:='';
edit3.text:=''; end
else
application.messagebox('原密码不存在或新密码前后错误','提示',mb_ok);
edit1.text:='';
edit2.text:='';
edit3.text:='';
end;end;
你把TQuery控件的名称给漏了
SQL.Add('Where UserName='+#39+StringUserName+#39)没有最后的那一个分号~~~~~~
begin
close;
SQL.Clear;
SQL.Add('Update Tbl_pass Set Field[2]='+#39+Edit2.Text+#39);
SQL.Add('Where UserName='+#39+StringUserName+#39);
execsql;
end
顺便又发现了一个问题,
是真正产生这个错误的原因,
就是 SQL.Add('Update Tbl_pass Set Field[2]='+#39+Edit2.Text+#39')最后括号前的单引号是多余的,
呵呵,
当然会报unternimate string 错误不少啊
我用2个query:qu_klgg,qu_kl
原吗:
begin
if edit1.text='' then
application.messagebox('原密码不能为空','提示',mb_ok)
else
begin
data.qu_klgg.parambyname('passwd').value:=edit2.text;
data.qu_klgg.execsql;
if (data.qu_klgg.recordcount=1) and (edit2.text=edit3.text) then
begin
data.qu_kl.close;
data.qu_kl.SQL.Clear;
data.qu_kl.SQL.Add('Update Tbl_pass Set Field[2] ='+#39+Edit2.Text+#39);
data.qu_kl.SQL.Add('Where passwd='+#39+edit1.text+#39);
data.qu_kl.execsql;
edit1.text:='';
edit2.text:='';
edit3.text:=''; end
else
application.messagebox('原密码不存在或新密码前后错误','提示',mb_ok);
edit1.text:='';
edit2.text:='';
edit3.text:='';
end;end;
改成data.qu_klgg.open;
你那data.qu_klgg 的sql 语句应该是
select * from Tbl_pass where passwd=:passwdselect 语句必须用open,
delete,update,insert 必须用 execsql
一跟踪你就会发觉 data.qu_klgg.recordcount=0,
当然也就执行else 里的代码了,
回答了这么多,可惜没分
薪水补发:200分,以后每周都有,不要嫌偶菜就行
不过变量名称一定要输入完整,
特别对于某些对象的属性,一定要把对象名称也要输入进去
但是跟踪表明recordcount=0,不过,也没有能出错的地方了,哇哇哇,受步了了
begin
if edit1.text='' then
application.messagebox('原密码不能为空','提示',mb_ok)
else
begin
data.qu_klgg.parambyname('passwd').value:=edit1.text;
data.Qu_klgg.open;
if (data.qu_klgg.recordcount=1) and (edit2.text=edit3.text) then
begin
data.qu_kl.close;
data.qu_kl.SQL.Clear;
data.qu_kl.SQL.Add('Update Tbl_pass Set Field[2]='+#39+Edit2.Text+#39);
data.qu_kl.SQL.Add('Where passwd='+#39+edit1.text+#39);
data.qu_kl.execsql;
edit1.text:='';
edit2.text:='';
edit3.text:=''; end
else
application.messagebox('原密码不存在或新密码前后错误','提示',mb_ok);
edit1.text:='';
edit2.text:='';
edit3.text:='';
end;end;
这个Field[2]是什么???????????????
filed[2]是passwd的字段序号
新密码: [ edit2 ]
确认密码:[ edit3 ]
确认 取消 中,没有设username可否省去?
data.qu_kl.SQL.Add('Update Tbl_pass Set '+Field[2].AsString+'='+#39+Edit2.Text+#39); 这个就把他们的密码都给修改了~~
是qu_klgg.Field[2].AsString
真是TMD低级错误~~呵呵~~少写了一个“S”~~~~~~~Fields