ADO语句的问题,头疼 id = '+ inttostr(Data_day_id)+''; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 'Update diary_day set account = '''+memo.Lines.Text+'''where id= '+inttostr(Data_day_id); AddQuery.SQL.Text 是String类型的。String类型当然不能和Integer类型相加了,将Integer转换为String类型就可以相加了! NO,NO因为数据库中表的字段设置就是'数字',如果IntToStr为'字符'的话,就会出现类型不匹配的错误了我必须得使用数字,应该怎么做呢? AddQuery.SQL.Text := 'Update diary_day set account = '''+memo.Lines.Text+''' where id = '+inttostr(Data_day_id)+''; 把 where id = '+Data_day_id+'';改成 'where id = '+inttostr(Data_day_id); to 小虫... sorry,我没看清楚 用以下方式吧:AddQuery.SQL.Add('Update diary_day set account = '''+memo.Lines.Text+''' where id = '+inttostr(Data_day_id)');AddQuery.SQL.ExecSQL; 全是高手嘛。每个人一开始用SQL时大都和你有一样的情况。 adoquery4.close; adoquery4.SQL.clear; adoquery4.SQL.ADD('insert ps_pzzyd values ('''+edt_bh.text+''','''+DateToStr(DateTimePicker1.Date)+''','''+dbcm_khbh.text+''','''+dbcm_yppz.hint+''','''+edt_sl.text+''','''+edt_je.text+''','''+edt_fphm.text+''','''+edt_tdhm.text+''','''+edt_sddd.text+''','''+DatetimeToStr(DateTimePicker2.DateTime)+''','''+edt_qksm.text+''','''+dbcm_qfr.hint+''','''+DatetimeToStr(now)+''',''0'',''0'')'); adoquery4.ExecSQL; adoquery4.close; 錯誤原因分析如下:因為 AddQuery.SQL.Text:=(必需是一個字符串)應該這樣寫才對:AddQuery.SQL.Text := 'Update diary_day set account = '''+memo.Lines.Text+''' where id = '+inttostr(Data_day_id); // 後面沒引號啊! 你的数据库是数字型和Delphi没有关系,一定要IntToStr,这是因为这里是要生成一句String型的SQL语句,Delphi将这句SQL语句传递给你的数据库后,数据库会认得他是Int型的。================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] id = ''+inttostr(Data_day_id)+''' 你按照 bolly(波波) 的写,保证正确。================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。 ★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! ★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ● 可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zipHttp://www.ChinaOK.net/csdn/csdn.rarHttp://www.ChinaOK.net/csdn/csdn.exe [自解压] AddQuery.SQL.Text := 'Update diary_day set account = '''+memo.Lines.Text+''' where id= +Data_day_id+'; id = '+ inttostr(Data_day_id)+''; 这里的引号用的乱七八糟,Delphi中要在用但引号引起来的字串里面加上一个引好字符,必须用两个单引号匹配错误就会出现各种奇怪的现象。 AddQuery.SQL.Text := 'Update diary_day set account=:dd where id =:ddd';addQuery.parameters.parambyname('dd').value:=memo.Lines.Text;addquery.parameters.parambyname('ddd').value:=Data_day_id;addquery.execsql;这样出错的话,你找我 我看你的等级这么高,难道以前没有做过数据库??...id = '+ inttostr(Data_day_id); 程序肯定不会错,数据库也不会错。这样传到数据库引擎的语句是:...ID=2 ,而不是 ...ID='2' 。 TreeView 使用方法。连接access数据库。。。 急! (着急!今天就要交工)关于数组复制,请问有何方法能用如何用新的数组取代原数组? Delphi 6 下的TAB键为何不能缩进代码,在哪里设啊?(大虾) DBGRID能像EXCEL自动编号吗?可以把左边的一格拉大吗? 同一段代码,当窗体设置为mdichild时不执行,不知何解? 一个小问题,但是急 说难不难说易我真的不会关于Panel的使用,来帮忙UP sql server2000的问题(在线等待) 请教控件安装问题20分 怎样对一个实数向上取整? 高手进!!!!!急啊啊啊! 怎样在DELPHI中对系统的服务进行操作?
+'''where id= '+inttostr(Data_day_id);
将Integer转换为String类型就可以相加了!
where id = '+Data_day_id+'';
改成
'where id = '+inttostr(Data_day_id);
AddQuery.SQL.Add('Update diary_day set account = '''+memo.Lines.Text+''' where id = '+inttostr(Data_day_id)');
AddQuery.SQL.ExecSQL;
adoquery4.close;
adoquery4.SQL.clear;
adoquery4.SQL.ADD('insert ps_pzzyd values ('''+edt_bh.text+''','''+DateToStr(DateTimePicker1.Date)+''','''+dbcm_khbh.text+''','''+dbcm_yppz.hint+''','''+edt_sl.text+''','''+edt_je.text+''','''+edt_fphm.text+''','''+edt_tdhm.text+''','''+edt_sddd.text+''','''+DatetimeToStr(DateTimePicker2.DateTime)+''','''+edt_qksm.text+''','''+dbcm_qfr.hint+''','''+DatetimeToStr(now)+''',''0'',''0'')');
adoquery4.ExecSQL;
adoquery4.close;
因為 AddQuery.SQL.Text:=(必需是一個字符串)
應該這樣寫才對:
AddQuery.SQL.Text := 'Update diary_day set account = '''+memo.Lines.Text+''' where id = '+inttostr(Data_day_id);
// 後面沒引號啊!
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]
addQuery.parameters.parambyname('dd').value:=memo.Lines.Text;
addquery.parameters.parambyname('ddd').value:=Data_day_id;
addquery.execsql;
这样出错的话,你找我
...id = '+ inttostr(Data_day_id);
程序肯定不会错,数据库也不会错。
这样传到数据库引擎的语句是:...ID=2 ,而不是 ...ID='2' 。