sql语句(100分)

  • 主题发起人 主题发起人 dxj1976
  • 开始时间 开始时间
D

dxj1976

Unregistered / Unconfirmed
GUEST, unregistred user!
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add(insert into table(字段1,字段2,字段3) values('''+'1'+''','''+'2'+''','+formatdatetime('yy-mm-dd hh:nn:ss',now)+'));
字段3是日期时间型字段
adoquery1.execsql;
这条语句执行不过去。。请高手指点!!!!
 
,'+formatdatetime('yy-mm-dd hh:nn:ss',now)+')
 
adoquery1.sql.add('insert into table(字段1,字段2,字段3) values('''+'1'+''','''+'2'+''','+formatdatetime('yy-mm-dd hh:nn:ss',now)+')');
 
adoquery1.execsql;前 showmessage(adoquery1.sql.text); 看看问题在哪
 
,'+formatdatetime('yymmdd hh:nn:ss',now)+')
 
adoquery1.sql.add('insert into table(字段1,字段2,字段3) values(''1'',''2'',formatdatetime('yy-mm-dd hh:nn:ss',now))');
试试这样写
 
你可以这样试下
adoquery1.sql.add('insert into table(字段1,字段2,字段3) values(''1'',''2'','''+formatdatetime('yy-mm-dd hh:nn:ss',now)+''')');
 
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('insert into table(字段1,字段2,字段3) values('''+'1'+''','''+'2'+''',:Field3)');
adoquery1.Parameters.ParamByName('Field3').Value :=now;
adoquery1.ExecSQL ;
 
全部用参数吧,省去很多麻烦
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('insert into table(字段1,字段2,字段3) values(:字段1,:字段2,:字段3)');
adoquery1.Parameters.ParamByName('字段1').Value :='1';
adoquery1.Parameters.ParamByName('字段2').Value :='2';
adoquery1.Parameters.ParamByName('字段3').Value :=now;
adoquery1.ExecSQL ;
 
請注意細節..delphi的字符串與SQL的字符串之間的轉換
 
试试,任何Windows日期格式设置都能执行通过!

adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add(insert into table(字段1,字段2,字段3) values('''+'1'+''','''+'2'+''','+formatdatetime('yyyymmdd hh:nn:ss',now)+'));
 
看不出來
你將SQL語句跟出來,在查詢分析器上執行一下就知道了啊
 
你自己跟踪下,不行就这样咯...
全部用参数吧,省去很多麻烦
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('insert into table(字段1,字段2,字段3) values(:字段1,:字段2,:字段3)');
adoquery1.Parameters.ParamByName('字段1').Value :='1';
adoquery1.Parameters.ParamByName('字段2').Value :='2';
adoquery1.Parameters.ParamByName('字段3').Value :=now;
adoquery1.ExecSQL ;
 
后退
顶部