Delphi编程SQL语句中引号,'、quotedstr

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