为什么???

qingniao 2000-04-20 05:13:00
1 HANDLE hComr;
1 hComr=OMR_init(Application->Handle,"COM1",57600);
.
.
.
char *ResultString;
int ResultLength;
AnsiString aaa;
1 Resultlength=OMR_GetResultString(hComr,ResultString);
1 aaa=AnsiString(ResultString);
.
.
.
* Query1- >SQL->Add("Select * from Trans Where Name="+aaa.SubString[i,1]);
执行到带*的语句程序出错,如果把标1的语句封装到其他单元,就没有问题。
...全文
248 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjzhuang 2001-07-11
  • 打赏
  • 举报
回复
>>又一个飞毛腿导弹,发出不管.
哈哈~~~~~~~~
actinia 2001-07-11
  • 打赏
  • 举报
回复
强制执行分数结算!!!
简直就是打击回答人的信心。
火鸟33 2001-07-10
  • 打赏
  • 举报
回复
强制结了
halfdream 2001-07-10
  • 打赏
  • 举报
回复
呵呵, 时间已经过去了一年三个月。。。。。。

luhongjun 2001-07-08
  • 打赏
  • 举报
回复
同意Wingsun(孙春阳)
又一个飞毛腿导弹,发出不管.
Wingsun 2001-07-08
  • 打赏
  • 举报
回复
人跑到哪儿去了?
hk318 2000-04-29
  • 打赏
  • 举报
回复
(提醒一下) 不知道对不对?
char *ResultString;
// 是否应该得到一定的内存
//1 ResultString=new char[XXX];


int ResultLength;
AnsiString aaa;
Resultlength=OMR_GetResultString(hComr,ResultString);

// 2 delete []ResultString;
Wingsun 2000-04-27
  • 打赏
  • 举报
回复
你的SQL语句的用法是对的,只是没有考虑到Name的类型,如果Name的类型是字符型,应该这样写:
Query1- >SQL->Add("Select * from Trans Where Name='"+aaa.SubString(i,1)+"'");
SQL语句中的字段类型要于它的值的类型相匹配.
Hank 2000-04-22
  • 打赏
  • 举报
回复
看来你是用VFP之类的开发工具习惯了,在DELPHI/C++ BUILDER 中,SQL语句是不能这么使用的,以上的要分成两句写:
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM TRANS WHERE NAME=:XS"); //重点
Query1->Params->Items[0]->AsString=aaa.SubString[i][1]; //重点
Query1->Open();

而且如果原来SQL里面有语句,那再运行Add()函数时也会报错!
而且调用数组也不是那么调用,仔细看一下halfdream写的!
david_sh 2000-04-22
  • 打赏
  • 举报
回复
我赞成用Hank的方法,绝对没问题.
halfdream 2000-04-21
  • 打赏
  • 举报
回复
aaa.SubString[i,1]
~~~~~~\你这儿应该是写错了吧?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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