请教,出现:Invalid variant operation是什么意思?多谢!

ntcxh 2008-10-10 03:57:43
我有如下一段代码:
if(input->Query1->IsEmpty())
{
input->Query1->Append();
input->Query1->FieldByName("物料编号")->Value = input->Table2->FieldByName("物料编号")->AsString;
input->Query1->FieldByName("仓库编号")->Value = input->Table4->FieldByName("库号")->Value;
}
else
input->Query1->Edit();

input->Query1->FieldByName("数量")->Value = input->Query1->FieldByName("数量")->Value - d + StrToInt(input->DBEditEh6->Text.c_str());
input->Query1->Post();
最初运行都是好的,可不知为何,现在运行出现如题的出错信息?
...全文
5112 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
utin431 2008-10-10
  • 打赏
  • 举报
回复
直观判断,应该是
input->Query1->FieldByName("数量")->Value = input->Query1->FieldByName("数量")->Value - d + StrToInt(input->DBEditEh6->Text.c_str());
的问题。


StrToInt(input->DBEditEh6->Text.c_str()
字符串转整形,可以不用取地址的,是不是取地址的时候造成未知的值报错。
直接改成StrToInt(input->DBEditEh6->Text试试。
jxw1987628 2008-10-10
  • 打赏
  • 举报
回复
代码好像不怎么完整。。无法分析出原因。。建议你设置断点,单步调试。。定位最终的’问题‘代码行

另外你那些字段会不会出现Null的情况。。。(就是字段值为空)

??????、、
flymoon99 2008-10-10
  • 打赏
  • 举报
回复
空指针了,使用前先判断下指针是否为空
ntcxh 2008-10-10
  • 打赏
  • 举报
回复
现发现在最后第二句话,可能出错,如果QUERY1出现空(NULL),会出现如题的错误吗?
御剑逍遥恪 2008-10-10
  • 打赏
  • 举报
回复
查查 某个变量可能无效~~
估计是转换的时候或者中文变量~~
yumikoo 2008-10-10
  • 打赏
  • 举报
回复
操作了无效的变量。

1,178

社区成员

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

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