用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧Delphi

总结一下SQL语句中引号()、quotedstr()、()、format()在SQL语句中的用法

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 20:05:04
总结一下SQL语句中引号('')、quotedstr()、('''')、format()在SQL语句中的用法以
及SQL语句中日期格式的表示(#)、('''')
在Delphi中进行字符变量连接相加时单引号用(''''''),又引号用('''''''')表示
首先定义变量
var
AnInt:integer=123;//为了方便在此都给它们赋初值。虽然可能在引赋初值在某些情况下不对
AnIntStr:string=''456'';
AStr:string=''abc'';
AFieldName: string=''字符型编号'';
ATableName: string=''YourTable'';
ADate:Tdatetime=now;
Adoquery1:tadoquery;
1,Delphi语句
adoquery1.sql.text:=
''select 字符型编号 from YourTable where 字符型编号=''abc'' and 整型编号=123'';
等价于
adoquery1.sql.text:=
''select ''+AFieldName+'' from ''+ATableName+'' where ''+AFieldName
+''=''''''+AStr+'''''' and 整型编号=''+AnIntStr;
也等价于
adoquery1.sql.text:=
''select ''+AFieldName+'' from ''+ATableName+'' where ''+AFieldName
+''=''+QuotedStr(AStr)+'' and 整型编号=''+Inttostr(AnInt);

传到数据库服务器为:
select 字符型编号 from YourTable where 字符型编号=''abc'' and 整型编号=123

2,Delphi语句中日期表示
对于access数据库:
adoquery1.sql.text:=
''select 字符型编号 from YourTable where 日期型字段=#2003-12-01#'';
等价于:
adoquery1.sql.text:=
''select 字符型编号 from YourTable where 日期型字段=#''+FormatDateTime(''yyyy-MM-dd'',now)+''#'';
传到服务器为:
select 字符型编号 from YourTable where 日期型字段=#2003-12-01#

对于MSSQL数据库:
adoquery1.sql.text:=
''select 字符型编号 from YourTable where 日期型字段=''2003-12-01'''';
等价于:
adoquery1.sql.text:=
''select 字符型编号 from YourTable where 日期型字段=''''''+FormatDateTime(''yyyy-MM-dd'',now)+'''''''';
也等价于:
等价于:
adoquery1.sql.text:=
''select 字符型编号 from YourTable where 日期型字段=''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now));

传到服务器为:
select 字符型编号 from YourTable where 日期型字段=''2003-12-01''

日期字段还可以这样表示
Delphi语句
adoquery1.sql.text:=
''select 字符型编号 from YourTable where 日期型字段>=''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now))
+'' and 日期型字段<=''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now+1));//明天
等价于
adoquery1.sql.text:=
''select 字符型编号 from YourTable where 日期型字段 between ''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now))
+'' and ''+QuotedStr(FormatDateTime(''yyyy-MM-dd'',now+1)); 




如果用
adoquery1.sql.add();
形式又如何操作?请用Insert语句示例

adoquery1.sql.add('' insert into ''+AtableName);
adoquery1.sql.add('' ( ''+AFieldName+'')'');
adoquery1.sql.add('' values( ''+quotedstr(AStr)+'')'');

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:4,843.75000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号