我用下面的语句向表中插入数据时,出错,提示“没有执行可选特性”
adoquery1.sql.Add('insert into jdjc (sj,mc,qk) values (:a,:b,:c)');
adoquery1.Parameters.ParamByName('a').Value:=medsj.text;
adoquery1.Parameters.ParamByName('b').value:=edmc.text;
adoquery1.Parameters.ParamByName('c').value:=moqk.text;
但是如果改成下面这样就一切正常
adoquery1.sql.Add('insert into jdjc (sj,mc,qk) values ('''+medsj.text+''','''+edmc.text+''','''+moqk.Text+''')');
这是为什么呢?
(sj,mc,qk的数据类型分别为datatime,varchar,text,相对的3个控件为maskedit,edit,memo)
adoquery1.sql.Add('insert into jdjc (sj,mc,qk) values (:a,:b,:c)');
adoquery1.Parameters.ParamByName('a').Value:=medsj.text;
adoquery1.Parameters.ParamByName('b').value:=edmc.text;
adoquery1.Parameters.ParamByName('c').value:=moqk.text;
但是如果改成下面这样就一切正常
adoquery1.sql.Add('insert into jdjc (sj,mc,qk) values ('''+medsj.text+''','''+edmc.text+''','''+moqk.Text+''')');
这是为什么呢?
(sj,mc,qk的数据类型分别为datatime,varchar,text,相对的3个控件为maskedit,edit,memo)
1
adoquery1.sql.Add('insert into jdjc (sj,mc,qk) values (:a,:b,:c)');
adoquery1.Parameters.ParamByName('a').Value:=STRTODATETIME(medsj.text);
adoquery1.Parameters.ParamByName('b').value:=edmc.text;
adoquery1.Parameters.ParamByName('c').value:=moqk.text;
2
adoquery1.sql.Add('insert into jdjc (sj,mc,qk) values ('''+STRTODATETIME(medsj.text)+''','''+edmc.text+''','''+moqk.Text+''')');