delphi 中如何执行SqlParameter形式的SQL语句
2008-09-18 20:55
405 查看
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOConnection1.Open('xj','123456');
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into UserInfo(UserName, UserPwd, Address, RoleID, IsDel, CreateDate) values(:UserName, :UserPwd, :Address, :RoleID, :IsDel, :CreateDate)');
ADOQuery1.Parameters.Clear;
ADOQuery1.Parameters.CreateParameter('UserName',ftString,pdInput,50,'aaa');
ADOQuery1.Parameters.CreateParameter('UserPwd',ftString,pdInput,50,'aaa1');
ADOQuery1.Parameters.CreateParameter('Address',ftString,pdInput,50,'aaa2');
ADOQuery1.Parameters.CreateParameter('RoleID',ftInteger,pdInput,50,1);
ADOQuery1.Parameters.CreateParameter('IsDel',ftInteger,pdInput,50,0);
ADOQuery1.Parameters.CreateParameter('CreateDate',ftDateTime,pdInput,50,null);
ADOQuery1.ExecSQL;
ADOConnection1.Close;
end;
也可以通过预编译执行SQL:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOConnection1.Open('xj','123456');
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into UserInfo(UserName, UserPwd, Address, RoleID, IsDel, CreateDate) values(:UserName, :UserPwd, :Address, :RoleID, :IsDel, :CreateDate)');
ADOQuery1.Prepared:=True;//预编译置为True
{
ADOQuery1.Parameters.Clear;
ADOQuery1.Parameters.CreateParameter('UserName',ftString,pdInput,50,UserInfo.UserName);
ADOQuery1.Parameters.CreateParameter('UserPwd',ftString,pdInput,50,UserInfo.UserPwd);
ADOQuery1.Parameters.CreateParameter('Address',ftString,pdInput,50,UserInfo.Address);
ADOQuery1.Parameters.CreateParameter('RoleID',ftString,pdInput,50,UserInfo.RoleID);
ADOQuery1.Parameters.CreateParameter('IsDel',ftString,pdInput,50,UserInfo.IsDel);
ADOQuery1.Parameters.CreateParameter('CreateDate',ftString,pdInput,50,UserInfo.CreateDate);
}
//不用创建Parameter,而是直接给Parameter赋值,通常都采用这种方法,预编译能够优化SQL语句,提高执行效率。
ADOQuery1.Parameters[0].Value:='aaaun';
ADOQuery1.Parameters[1].Value:='aaapwd';
ADOQuery1.Parameters[2].Value:='aaaadress';
ADOQuery1.Parameters[3].Value:='1';
ADOQuery1.Parameters[4].Value:='0';
ADOQuery1.Parameters[5].Value:='2008-9-18';
ADOQuery1.ExecSQL;
ADOConnection1.Close;
end;
begin
ADOConnection1.Open('xj','123456');
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into UserInfo(UserName, UserPwd, Address, RoleID, IsDel, CreateDate) values(:UserName, :UserPwd, :Address, :RoleID, :IsDel, :CreateDate)');
ADOQuery1.Parameters.Clear;
ADOQuery1.Parameters.CreateParameter('UserName',ftString,pdInput,50,'aaa');
ADOQuery1.Parameters.CreateParameter('UserPwd',ftString,pdInput,50,'aaa1');
ADOQuery1.Parameters.CreateParameter('Address',ftString,pdInput,50,'aaa2');
ADOQuery1.Parameters.CreateParameter('RoleID',ftInteger,pdInput,50,1);
ADOQuery1.Parameters.CreateParameter('IsDel',ftInteger,pdInput,50,0);
ADOQuery1.Parameters.CreateParameter('CreateDate',ftDateTime,pdInput,50,null);
ADOQuery1.ExecSQL;
ADOConnection1.Close;
end;
也可以通过预编译执行SQL:
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOConnection1.Open('xj','123456');
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into UserInfo(UserName, UserPwd, Address, RoleID, IsDel, CreateDate) values(:UserName, :UserPwd, :Address, :RoleID, :IsDel, :CreateDate)');
ADOQuery1.Prepared:=True;//预编译置为True
{
ADOQuery1.Parameters.Clear;
ADOQuery1.Parameters.CreateParameter('UserName',ftString,pdInput,50,UserInfo.UserName);
ADOQuery1.Parameters.CreateParameter('UserPwd',ftString,pdInput,50,UserInfo.UserPwd);
ADOQuery1.Parameters.CreateParameter('Address',ftString,pdInput,50,UserInfo.Address);
ADOQuery1.Parameters.CreateParameter('RoleID',ftString,pdInput,50,UserInfo.RoleID);
ADOQuery1.Parameters.CreateParameter('IsDel',ftString,pdInput,50,UserInfo.IsDel);
ADOQuery1.Parameters.CreateParameter('CreateDate',ftString,pdInput,50,UserInfo.CreateDate);
}
//不用创建Parameter,而是直接给Parameter赋值,通常都采用这种方法,预编译能够优化SQL语句,提高执行效率。
ADOQuery1.Parameters[0].Value:='aaaun';
ADOQuery1.Parameters[1].Value:='aaapwd';
ADOQuery1.Parameters[2].Value:='aaaadress';
ADOQuery1.Parameters[3].Value:='1';
ADOQuery1.Parameters[4].Value:='0';
ADOQuery1.Parameters[5].Value:='2008-9-18';
ADOQuery1.ExecSQL;
ADOConnection1.Close;
end;
相关文章推荐
- delphi 中如何执行SqlParameter形式的SQL语句
- oracle存储过程中如何执行动态SQL语句
- 如何在查询分析器中显示sql语句的精确执行时间(精确到ms)?_
- 如何测试sql语句性能,提高执行效率
- 如何象SQL语句中的Exec那样在VB中执行一段代码?
- 让你提前认识软件开发(20):如何在C语言里面执行SQL语句?
- mysql中如何用一条sql语句删除多条记录及Shell下执行mysql语句和查询统计
- Access2010中如何运行SQL执行SQL语句
- Oracle 如何根据动态性能视图来查看某条SQL语句的执行计划
- [转]如何在sql2005里简单查看sql语句的执行时间和IO读写
- 原!!mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集
- 请问Enterprise Library如何执行带有参数的SQL语句(Generic Database)
- Oracle数据库查看一个进程是如何执行相关的实际SQL语句
- 如何测试sql语句性能,提高执行效率
- 使用Core Data时如何看到所执行的SQL语句?
- zencart+magento 如何清空商品演示数据和没有商品数据的sql执行语句
- SQL Server如何查看SQL语句的执行时间
- 如何通过10053查看SQL语句执行计划
- 如何在c#代码中执行带GO语句的SQL文件
- 如何使用hibernate执行sql语句