table1.FieldByName('注册资本').AsInteger :=strtoint(edit1.Text)的问题(50分)

  • 主题发起人 主题发起人 wangny
  • 开始时间 开始时间
如果要是把帮助利用好了
那后果会很不错的
呵呵
 
用Trim试过,还是不行,并且保证EDIT里输入的是数字!
 
用table1.FieldByName('注册资本').value :=edit1.Text; 一样不行!!出现同样的错误!!
 
很有意思,窗体上的LABEL无法固定宽度!!好有趣。就算是在FROM的ONCREAT事件里来用代码固定宽度,居然也不行……
 
自个再做个表,一样的代码操作一下,居然可以了。好怪,但原来的代码也没错,就是一直出现错误提示
 
label1.Font.Name := '宋体'; //可以正常显示
或者
label1.AutoSize := False;
 
AutoSize设了,但程序运行时,还是会变!!!
比如LABEL是:注册资金,结果出来的金字会被挡住一半!!
 
一,肯定是其他事件改变了某些值或者状态
二,Label1的ParentFont设为False,然后改变它的字体才有效果,或者干脆将它的Parent控件的ParentFont设为False
 
现在不知道乍办,关于数据库的,还是会出现那个问题,提示是ECONVERTERROR,查一下,是类型转换出错……但strtoint(edit1.text)是没什么问题呀
 
估计是“注册资金”是中文的原因,改用英文的试试。。。
 
不是“注册资金”的问题
 
问题应该是edit1控件的问题,你把edit1删掉再加一个tEdit试试,应该就可以了。
(有可能你的exit事件里面有一些内容比如:Edit1.Text:=''之类)。

另外,一般不要直接这样
****:= StrToInt(Trim(Edit2.Text));赋值,谁知道回头人家这么输入dit1的内容啊?

一般都是:
var xx,code:integer;
...
val(Edit1.Text,xx,code);
if code<>0 then
begin
ShowMessage('请输入正确的数字。');
Edit1.selectall;
Edit1.Setfocus;
exit;
end;
...
table1.Open;
table1.Append;
table1.FieldByName('注册资本').AsInteger:=xx;
table1.post;
....
 
按照DELPHI的错误提示,是类型转换时出错!但却也看不出STRTOINT(EDIT.TEXT)这句话哪里有错的^^^
 
你输入edit里是不是中文,字母呀,,不是数字?????
 
去掉原来的EDIT控件,重新搞了一个,但还是不行!
 
回答jxmsoft,绝对是在EDIT里输入的是数字!!!
 
用spinedit看看
 
另外建议字段名使用字母,有时数据库对中文字段名支持不好
 
断点一下看看
 
回复lxw5214,你用的是DELPHI多少的?我是DELPHI6.0
 

Similar threads

后退
顶部