请帮我解决用QUERY的SQL插入数据中的一些问题?(100分)

  • 主题发起人 主题发起人 tarlly
  • 开始时间 开始时间
T

tarlly

Unregistered / Unconfirmed
GUEST, unregistred user!
我在用QUERY控件是遇到一些问题:代码如下
query1.close;
query1.sql.clear;
query1.add('insert into user(name) values("lisizhe")');
query1.execsql;
但不知是怎样的老是有问题谁可以帮我解决一下。
 
query1.close;
query1.sql.clear;
query1.add('insert into user(name) values("lisizhe")');
------------------
改为:
query1.sql.add('insert into user (name) values (''lisizhe'')');
--------


query1.execsql;
 
SQL语句中不认识"",
query1.close;
query1.sql.clear;
query1.add('insert into user(name) values(''lisizhe'')');
query1.execsql;
 
我通常的写法:不出错
var
ls_sql:String;
begin
ls_sql:='insert into user(name) values('+'''lisizhe'''+')';
query1.close;
query1.sql.clear;
query1.add(ls_sql);
query1.execsql;
 
是不是user的库名不对,有冲突
还是因为

'insert into user(name) values(:name)'
parambyname('name').asstring:='lisizhe'

 
query1.close;
query1.sql.clear;
query1.add('insert into user(name) values('+#39+lisizhe+#39+')');
query1.execsql;
//#39是 '
 
字符串类型的前后添加 .....+''''+值+''''+.....其他的不加。例如:

query1.close;
query1.sql.clear;
query1.SQL.Text:='insert into user(name) values('+''''+lisizhe+''''+')';
query1.execsql;
 
如果有日期呢?还有有数值型的那该如何?日期类型为DATETIME
 
query1.close;
query1.sql.clear;
query1.SQL('insert into user(name) values(:name,:cy1,:cy2)');
query1.parambyname('name').value:='lisizhe';
query1.parambyname('cy1').value:=1234;
query1.parambyname('cy2').value:=strtodate('2002-11-12');
query1.execsql;
如果日期型,数值型同样用!!
 
像这样可不可以
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.Close;
query1.sql.clear;
query1.sql.add('insert into user (name,linkman,linktel,adress,count,nom,date) values (''lisizhe'',''slddf'',''sdff'',''df'',12,''2557744'',''99-3-3'')');
query1.ExecSQL;
end;
 
但是像上面这样不可以的
 
多谢各位!!
 
后退
顶部