IB6.5的问题,请帮帮忙,谢谢!

nnlyc 2003-01-31 10:52:07
Project aa.exe raised exception class EIBInterBaseError with message 'arithetic exception,numeric overflow,or string truncation Cannot transliterate character between character sets'.

在运行主表单时弹出一个对话框,用户编号自动检出显示在DBComboBox里,现要求用户名在改变用户编号时相应地自动改变,然后输入密码显示主表单。但在改变用户编号时弹出的对话框显示以上信息,这个问题怎么解决?
void __fastcall TfrmLogin::FormCreate(TObject *Sender)//frmLogin是以ShowModal方式显示的
{
Edit1->Clear();//Edit1为密码输入框
IBTable1->Open();
IBTable1->First();
while(!IBTable1->Eof)
{
//Dbcb为DBComboBox
Dbcb->Items->Add(IBTable1->FieldByName("EMPID")->AsString);
IBTable1->Next();
}
Dbcb->ItemIndex=0;
IBTable1->First();
}

void __fastcall TfrmLogin::DbcbChange(TObject *Sender)
{
i=Dbcb->ItemIndex+1;
IBTable1->MoveBy(i-IBTable1->RecNo);
//Edit2用来显示用户名
Edit2->Text=IBTable1->FieldByName("NAME")->AsString;
}

void __fastcall TfrmLogin::btnOkClick(TObject *Sender)
{
if(IBTable1->FieldByName("SN")->AsString==Edit1->Text)
frmMain->Visible=true;//此处提示找不到主表单frmMain
}
...全文
66 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nnlyc 2003-02-11
  • 打赏
  • 举报
回复
先试试各位的方法,结贴。
hamzsy 2003-02-07
  • 打赏
  • 举报
回复
最好把字符集设为NONE
但IB中用工具把字符集设为NONE后,数据库中的数据还是用原来的字符集存储的,没有自动改变,所以建议你先重建一结构相同的数据库,只是不要设字符集,然后用程序再把数据导到里面
很麻烦,很麻烦的。
TR@SOE 2003-02-06
  • 打赏
  • 举报
回复
二、你的EMPID字段是什么类型?
耙子 2003-02-06
  • 打赏
  • 举报
回复
to 木头虫,不要给他加上这个字符集的限制,我以前也添加过,反而画蛇添足的出错,我什么都不写,反而一切正常。

其中的道理我也不知道,看看TR怎么解释吧。
nnlyc 2003-02-06
  • 打赏
  • 举报
回复
字符集IB中是这样的,我在建库时选择了GB2312,在建表时IB会自动给每个字段加上SET CHARSET GB_2312,而在CB中我给每个文本型的控件都设为GB2312也不行,现在的问题是我可以在下拉列表中改变一次选择,但想改第二次就出现那个错误消息。我给出的程序中的字段都是CHAR类型的。

To bestsnow(瑞雪):
你的方法在我这里是不行的,我的Moveby是相对移动,不是绝对的,如果先移到第一个记录的话,是不用i-IBTable->RecNo的。这个方法以前我用ListBox时经过验证可以行得通的。

欢迎大家继续讨论。
真如实观 2003-02-05
  • 打赏
  • 举报
回复
Lookup吧。
huzhangyou 2003-02-05
  • 打赏
  • 举报
回复
学习
TR@SOE 2003-02-05
  • 打赏
  • 举报
回复
一、检查字符集设置;
二、你的EMPID字段是什么类型?
bertchen 2003-02-05
  • 打赏
  • 举报
回复

IBTable1->First(); //加這一句就OK了
IBTable1->MoveBy(i-IBTable1->RecNo);
耙子 2003-02-03
  • 打赏
  • 举报
回复
看错误信息你是不是制定了这个表的或者表的某个类的字符集了。
去掉他的字符集。
nnlyc 2003-02-03
  • 打赏
  • 举报
回复
新年好啊,各位兄弟!过完年的就来帮小弟看看吧,不然小弟的毕业设计就有得忙啦……
Nepalon 2003-02-01
  • 打赏
  • 举报
回复
没用过IB,帮你UP一下
bertchen 2003-02-01
  • 打赏
  • 举报
回复
新春快樂,

這個問題用TDBLookupComboBox解決比較方便。
不用設它的DataSource,但ListSource等要設置。

1,178

社区成员

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

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