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

  • 主题发起人 主题发起人 wangny
  • 开始时间 开始时间
W

wangny

Unregistered / Unconfirmed
GUEST, unregistred user!
有一数据库,paradox7,注册资金为number 型的,做如下代码

请看看这句有错么:
前面用了
table1.Open;
table1.Append;

table1.FieldByName('注册资本').AsInteger :=strtoint(edit1.Text);

table1.post;

结果提示说:'' is not a valid integer value

我EDIT1里填的是数字!
但同样的代码我用另一个小的测试程序可以做。但这里不行。
 
一个EDIT1 一个EDIT4
是输入错误吗
 
呵呵,支持楼上.
楼主别忘了trim一下
 
老大需要认真点
呵呵
 
估计可能存在某个字段非空,而且没有默认值
 
和EDIT1或EDIT4这个没关
 
俺也用了一下
好像英文的好用
一换成 “资本注册”就不好用了
不晓得是什么原因
 
强烈要求字段的设置不要用中文名.如果数据库中的字段是中文的,应该设置别名.让它=E文的.不然在一些地方会出错.
 
可能和中文的字段没有关系,我用一个测试的的数据库,也是用中文的字段,一样是“注册资金”,一样的NUMBER类型,代码一样,结果可以用!!气死!

cdj000兄弟,你那里试了是出现什么错误?
 
没人来帮我么?
 
应该不是中文的问题
今天又试验了一下
随便建了一个表
procedure TForm1.Button1Click(Sender: TObject);
begin
with Table1 do
begin
Open;
Append;
FieldByName('UserN').AsString := Trim(Edit1.Text);
FieldByName('注册资金').AsInteger := StrToInt(Edit2.Text);
Post;
end;
end;

又什么为题也没有了
不知道什么原因
哎……
 
if edit1.Text = '' then
begin
Application.messagebox('请输入。。。','提示',Mb_OK);
Exit;
end;
然后再执行提交数据操作
 
try
except
end;
一下
 
我在EDIT1里面是有输入数字的!!!
好奇怪呀!!!!
看来是比较不稳定……到现在也没解决
 
应该对“注册资金”的Edit做Trim处理
FieldByName('注册资金').AsInteger := StrToInt(Trim(Edit2.Text));
同是还要保证Edit2.Text必须是数字
 
table1.FieldByName('注册资本').value :=edit1.Text;
 
Trim()是个什么函数呢?
 
Trim();是什么?
老大不是吧!
好像是去掉两边的空格
你可以找找delphi帮助
呵呵
 
好的,我去找找看
 

Similar threads

后退
顶部