delphi 中如何执行SqlParameter形式的SQL语句

 
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   ADOConnection1.Open('xj','123456');
  4.   ADOQuery1.Close;
  5.   ADOQuery1.SQL.Clear;
  6.   ADOQuery1.SQL.Add('insert into UserInfo(UserName,  UserPwd,  Address,  RoleID,  IsDel,  CreateDate) values(:UserName,  :UserPwd,  :Address,  :RoleID,  :IsDel,  :CreateDate)');
  7.   ADOQuery1.Parameters.Clear;
  8.   ADOQuery1.Parameters.CreateParameter('UserName',ftString,pdInput,50,'aaa');
  9.   ADOQuery1.Parameters.CreateParameter('UserPwd',ftString,pdInput,50,'aaa1');
  10.   ADOQuery1.Parameters.CreateParameter('Address',ftString,pdInput,50,'aaa2');
  11.   ADOQuery1.Parameters.CreateParameter('RoleID',ftInteger,pdInput,50,1);
  12.   ADOQuery1.Parameters.CreateParameter('IsDel',ftInteger,pdInput,50,0);
  13.   ADOQuery1.Parameters.CreateParameter('CreateDate',ftDateTime,pdInput,50,null);
  14.   ADOQuery1.ExecSQL;
  15.   ADOConnection1.Close;
  16. end;

也可以通过预编译执行SQL:

  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   
  4.   ADOConnection1.Open('xj','123456');
  5.   ADOQuery1.Close;
  6.   ADOQuery1.SQL.Clear;
  7.   ADOQuery1.SQL.Add('insert into UserInfo(UserName,  UserPwd,  Address,  RoleID,  IsDel,  CreateDate) values(:UserName,  :UserPwd,  :Address,  :RoleID,  :IsDel,  :CreateDate)');
  8.   ADOQuery1.Prepared:=True;//预编译置为True
  9.   {
  10.   ADOQuery1.Parameters.Clear;
  11.   ADOQuery1.Parameters.CreateParameter('UserName',ftString,pdInput,50,UserInfo.UserName);
  12.   ADOQuery1.Parameters.CreateParameter('UserPwd',ftString,pdInput,50,UserInfo.UserPwd);
  13.   ADOQuery1.Parameters.CreateParameter('Address',ftString,pdInput,50,UserInfo.Address);
  14.   ADOQuery1.Parameters.CreateParameter('RoleID',ftString,pdInput,50,UserInfo.RoleID);
  15.   ADOQuery1.Parameters.CreateParameter('IsDel',ftString,pdInput,50,UserInfo.IsDel);
  16.   ADOQuery1.Parameters.CreateParameter('CreateDate',ftString,pdInput,50,UserInfo.CreateDate);
  17.   }
  18. //不用创建Parameter,而是直接给Parameter赋值,通常都采用这种方法,预编译能够优化SQL语句,提高执行效率。
  19.   ADOQuery1.Parameters[0].Value:='aaaun';
  20.   ADOQuery1.Parameters[1].Value:='aaapwd';
  21.   ADOQuery1.Parameters[2].Value:='aaaadress';
  22.   ADOQuery1.Parameters[3].Value:='1';
  23.   ADOQuery1.Parameters[4].Value:='0';
  24.   ADOQuery1.Parameters[5].Value:='2008-9-18';
  25.   ADOQuery1.ExecSQL;
  26.   ADOConnection1.Close;
  27.   
  28. end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值