我的程序如下:
sql:='insert into table1 (date1,rate,todayrate) values(#2004-3-9#,1,1)';
adoQuery.close;
adoQuery.sql.clear;
adoQuery.sql.add(sql);
adoQuery.execsql;
adoQuery.close;
这段程序不是copy的,可能有拼写错误。但在我这里的问题是,把SQL中的insert改为SELECT就一切正常,使用INSERT就报错。
查了这里以前的帖子,关于这个问题的几乎都没有结帖。有人提供不少方法,包括:
sql:='insert into table1 (date1,rate,todayrate) values(:date1,:rate,:todayrate)';
adoQuery.parameters.parambyname('date1'):=edit.text;
在我这里报错。我的SQL是生成的不是死的,所以我的字段名和变量名也都是生成的字符串,我写adoQuery.parameters.parambyname(field):=edit.text;
就是错!!!!
我的sql语句在数据库中运行是正常的。还有,我写成i:=adoQuery.execsql;i为整数,也是错的,能不能请各位高手彻底解决一下这个问题!!!!多谢
sql:='insert into table1 (date1,rate,todayrate) values(#2004-3-9#,1,1)';
adoQuery.close;
adoQuery.sql.clear;
adoQuery.sql.add(sql);
adoQuery.execsql;
adoQuery.close;
这段程序不是copy的,可能有拼写错误。但在我这里的问题是,把SQL中的insert改为SELECT就一切正常,使用INSERT就报错。
查了这里以前的帖子,关于这个问题的几乎都没有结帖。有人提供不少方法,包括:
sql:='insert into table1 (date1,rate,todayrate) values(:date1,:rate,:todayrate)';
adoQuery.parameters.parambyname('date1'):=edit.text;
在我这里报错。我的SQL是生成的不是死的,所以我的字段名和变量名也都是生成的字符串,我写adoQuery.parameters.parambyname(field):=edit.text;
就是错!!!!
我的sql语句在数据库中运行是正常的。还有,我写成i:=adoQuery.execsql;i为整数,也是错的,能不能请各位高手彻底解决一下这个问题!!!!多谢
解决方案 »
- 如何点击一个弹出窗口的确定按纽?高分求解!
- quickrport (delphi6.0 )报表查看器如何做啊!就是把保存后的 .qrp文件可以查看!
- Word中合并单元格后单元格访问的问题
- 形如这样的字符串怎么分割?RMB39.00,$134.00,¥16.00等,在线等
- 关于改变图片所在位置???
- 如何将数组名转换为指针
- 请问如何把SQL数据库里查询出来的日期给DateTimePicker?
- 如何获得打印文档的页数和名称,急急急!谢谢! !
- 请问将数据保存到数据库中时怎样防止主键重复而产生的错误啊?
- 谁有学生管理或是图书管理一类的代码?
- 急需,在Delphi如何调用WIN32 API函数(如:copyfile),多谢了!!
- 取得外部程序中控件的句柄
adoQuery.parameters.parambyname(field).Value:=edit.text;
hhzqf1980(hh)建议的OPen,采用你自己的方法EXEC
只有Select时才Open
adoQuery.parameters[1]:=edit.text;//1表示第1个参数
--》sql:='insert into table1 (date1,rate,todayrate) values ('+ quotedstr('2004-3-9')+
',' + '1,1)';
估计还是sql:='insert into table1 (date1,rate,todayrate) values(#2004-3-9#,1,1)'
这一句有问题,#2004-3-9# 为什么这样表达?
sql:='insert into table1 (date1,rate,todayrate) values(''2004-3-9'',1,1)';
adoQuery.close;
adoQuery.sql.clear;
adoQuery.sql.add(sql);
adoQuery.execsql;
adoQuery.close;
你语句中Value是不能少的:
ADOQuery1.Parameters.ParamByName('asdf').Value:=
ADOQuery1.Parameters[i].Value;
回复时贴上你的出错提示!
ADOQuery1.Parameters.ParamByName('asdf').Value:=datetimetostr(now);
如果是数字可写为:
ADOQuery1.Parameters.ParamByName('asdf').Value:=1;
或
ADOQuery1.Parameters.ParamByName('asdf').Value:='1';
都可以,结帖!!!!!!