Delphi知识中心
www.delphi.ee
提供Delphi技术知识
与Delphi程序员共同进步


在线服务QQ:99923144 随时恭候您的光临
首页 基础知识 WIN系统 组件使用 组件开发 数据库 ACTIVEX 多媒体技术 网络技术 关于
文章类别:数据库    你尚未登陆,会员功能无法使用,请从 网站首页 登陆。
  SQL引号()、quotedstr()、format()用法  
 
总结一下SQL语句中引号()、quotedstr()、()、format()在SQL语句中的用法


总结一下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)+'')'');

 

在线服务QQ:99923144 Delphi程序员QQ群(139442)
Delphi知识中心 www.delphi.ee 最专业的Delphi技术资料网站