ADOQUERY中如何使用参数

mybluefish 2002-07-07 03:33:01
ADOQUERY中如何使用参数,怎么不能这样使用吗?
ParamByName(’iYH’).Asstring:=ComboBox_YH.Text;

方法AddParameter怎么使用呢?

我正在使用updata更新数据库,需要在where中用到参数,能否给出示范代码?


刚学delphi,新手
请教各位高手了
...全文
38 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
niat97222 2002-07-07
  • 打赏
  • 举报
回复
你用的ADOQUERY吧。把最后几行改一下看看

with SQL do
begin
SQL.clear;
SQL.Add(’UPDATE ADOQ_userlogin SET password =:newpass where serviceman=:username’);
end;
Parameters.ParamByName('username').Asstring:=name; //需要改动的就是这两句,此外,注意引号的全角和半角
Parameters.ParamByName('newpass').Asinteger:=pass;
open;
mybluefish 2002-07-07
  • 打赏
  • 举报
回复
请看这个有问题吗?为何delphi老提示[Error] changepass.pas(51): Undeclared identifier: ’paramByName’

//更改密码,F_userlogin.为登录窗体,TF_changepass为更改密码窗体,两者共用一个adoquery,但TF_changepass语句为update,可以吗?

procedure TF_changepass.BT_changepassClick(Sender: TObject);
var
name:string;
pass:integer;
begin
name:= F_userlogin.DB_username.text;
pass:=strtoint(ED_newpass.text);
IF ED_newpass.text=ED_confirm.text then
begin
with F_userlogin.ADOQ_userlogin do
with SQL do
begin
SQL.clear;
SQL.Add(’UPDATE ADOQ_userlogin SET password =:newpass where serviceman=:username’);
end;
paramByName(’username’).Asstring:=name;
ParamByName(’newpass’).Asinteger:=pass;
open;
end
else showmessage(’两次密码输入不一致,请重新输入’);
end;
mybluefish 2002-07-07
  • 打赏
  • 举报
回复
那到底是使用ParamByName呢,还是使用AddParameter,AddParameter怎么用,能否给个例子?谢谢
My_first 2002-07-07
  • 打赏
  • 举报
回复
var lcname:shortstring;
begin
lcname:='计划';
adoquery2.sql.Add('select userid from users where username=:lcname');
adoquery2.paramet(0).value:='计划' //这个单词忘了怎么写的。
adoquery2.Active:=true;
end;

5,386

社区成员

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

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