如果是sqlserver可以用""例如:tadoquery.sql.add('select * from authors where name="white"'); 也可以这样: tadoquery.sql.add('select * from authors where name='''white''''); 如果不是sql server可以这样: query.sql.add('select * from authors where name=:name'); query.fields[0].values:=white;//好像是这样吧我很少这样用具体可以看一下help自已也试一下
当在sql中还含有字符串时: 如: 又字符串 'select * from authors where name="name"' 可表示为: 'select * from authors where name='+quotedstr('name'); 强制转换问题: 如: 将字符串用指针表示:pchar('select * from authors where name="name"');
以参数的方式比较好! Query1.close; Query1.Sql.Text:='Insert Into ATable(ADate) values(:ADate) where ........' Query1.params[0].AsDateTime:=Date;//或用StrToDate()函数 if not Query1.Prepared then Query1.Prepare; Query1.Open; 其实以参数的方式是有利于数据库管理系统进行性能优化的,起码在Oracle里是这样!
var quotename:string; begin query1.close; query1.sql.clear; query1.sql.add('select * from authors where name="'+quotename+'"'); if not query1.prepared then query1.prepare; query1.open; end;
也可以这样:
tadoquery.sql.add('select * from authors where name='''white'''');
如果不是sql server可以这样:
query.sql.add('select * from authors where name=:name');
query.fields[0].values:=white;//好像是这样吧我很少这样用具体可以看一下help自已也试一下
如: 又字符串 'select * from authors where name="name"'
可表示为: 'select * from authors where name='+quotedstr('name');
强制转换问题:
如: 将字符串用指针表示:pchar('select * from authors where name="name"');
Query1.close;
Query1.Sql.Text:='Insert Into ATable(ADate) values(:ADate) where ........'
Query1.params[0].AsDateTime:=Date;//或用StrToDate()函数
if not Query1.Prepared then Query1.Prepare;
Query1.Open;
其实以参数的方式是有利于数据库管理系统进行性能优化的,起码在Oracle里是这样!
begin
query1.close;
query1.sql.clear;
query1.sql.add('select * from authors where name="'+quotename+'"');
if not query1.prepared then query1.prepare;
query1.open;
end;