CBC数据库问题,invalid pointer addition……

mf0011 2011-08-25 03:38:54
AnsiString ch=Trim(Label12->Caption);
int number;
const char* chh=ch.c_str();
number=atoi(chh);

ADOCommand1->CommandText=" DELETE FROM 货物 WHERE 订单号 = '"+ number +"' ";
//这里说invalid pointer addition//
ADOCommand1->Execute();

Form6->Hide();
Form3->Show();

我测试了number输出的确实是int……但是加上sql那句就报错……
其实我的目的是把一个number值从另一个form里传递过来,那位大大要是能有更好的方法麻烦介绍一下……
(我全局变量没弄明白,全局变量一顿报错………………)
...全文
117 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mf0011 2011-08-26
  • 打赏
  • 举报
回复
谢谢各位,结贴
ccrun.com 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zzbinfo 的回复:]

一眨眼的功夫老妖盖了好几层
[/Quote]

必须的。
ccrun.com 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 mf0011 的回复:]

运行通过,结果正确,谢谢ccrun。
能麻烦帮我解释一下String().sprintf什么用法么?
[/Quote]

就是格式化字符串而已,具体可以google "sprintf"
zzbinfo 2011-08-25
  • 打赏
  • 举报
回复
一眨眼的功夫老妖盖了好几层
zzbinfo 2011-08-25
  • 打赏
  • 举报
回复
你的订单号是数字,为什么sql语句里面用引号??
还有这里const char* chh=ch.c_str();这个错误就这2天已经有数不清的人犯了。
AnsiString ch=Trim(Label12->Caption);
int number;
char chh[128];
strcpy(chh,ch.c_str());
number=atoi(chh);
String CmdStr;
CmdStr.sprintf(L"DELETE FROM 货物 WHERE 订单号 = %d",number);
ADOCommand1->CommandText=CmdStr;
ADOCommand1->Execute();
Form6->Hide();
Form3->Show();
mf0011 2011-08-25
  • 打赏
  • 举报
回复
运行通过,结果正确,谢谢ccrun。
能麻烦帮我解释一下String().sprintf什么用法么?
mf0011 2011-08-25
  • 打赏
  • 举报
回复
数据库里定的整形的说…………
ccrun.com 2011-08-25
  • 打赏
  • 举报
回复
另外,如果你的数据库中,订单号是字符串类型的话,需要这样:
ADOCommand1->CommandText = String().sprintf(
"DELETE FROM 货物 WHERE 订单号='%d'",
number);
ccrun.com 2011-08-25
  • 打赏
  • 举报
回复

ADOCommand1->CommandText = String().sprintf(
"DELETE FROM 货物 WHERE 订单号=%d",
number);

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧