数据查询时报错:arithmetic exception,numeric overflow,or string truncation

肆水東澤 2009-09-04 03:58:20
主要代码如下,其它的略了
....
AnsiString searchEd1;
AnsiString searchEd2;
searchEd1=SearchStyleEd->Text+"%";
searchEd2=SearchStyleEd2->Text+"%";
SQLString="select * from maindbf where ";

if(SearchStyleBox->Text=="用户编号")
{
SearchStyleEd->MaxLength=16;
SQLString+=" YHBH like :TheYHBH";
}
else if(SearchStyleBox->Text=="用户姓名")
{
SearchStyleEd->MaxLength=20;
SQLString+=" YHXM like :TheYhxm";
}
else if(SearchStyleBox->Text=="用户单位")
{
SearchStyleEd->MaxLength=20;
SQLString+=" YHDW like :TheYhdw";
}
else if(SearchStyleBox->Text=="用户地址")
{
SearchStyleEd->MaxLength=20;
SQLString+=" YHDZ like :TheYhdz";
}
else
{
Curr=0;
int Leng=SQLString.Length();
SQLString=SQLString.SubString(1,Leng-6);
SQLString+=" ORDER BY YHBH ASC";
}
if(searchEd1.Length()>SearchStyleEd->MaxLength)
searchEd1=SearchStyleEd->Text;
DataModule1->MainQry->SQL->Add(SQLString);
DataModule1->MainQry->Params->Items[0]->AsString=searchEd1;
DataModule1->MainQry->Prepare();
DataModule1->MainQry->Open();
......

我选的用户姓名,输入第四个汉字的时候就会报错arithmetic exception,numeric overflow,or string truncation
大概了解是什么意思,但总找不出原因
...全文
1062 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
肆水東澤 2009-09-07
  • 打赏
  • 举报
回复
找到问题了,应该检查数据库,这个程序TMD自检数据库路径,只连接本文件夹下的数据库,我改了数据库连接路径也不对,我说怎么不行呢!!把新库放到里边就好了。
肆水東澤 2009-09-07
  • 打赏
  • 举报
回复
没人帮回答下嘛?自己顶下
肆水東澤 2009-09-05
  • 打赏
  • 举报
回复
字段长度是20,4个中文应该没问题啊
casahama 2009-09-04
  • 打赏
  • 举报
回复
数据溢出啊?
四个中文占16个字节,你给的字段多少字节?
wtu_3205017 2009-09-04
  • 打赏
  • 举报
回复
检查你的字段长度

1,178

社区成员

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

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