当前位置:主页>仓库管理软件> 列表

关于向Decimal类型字段新增数据的问题,请好心人帮忙! 找服装库存管理软件

仓库管理软件版1楼: QTY字段在数据库中的类型是Decimal(8,3),当向库中新增数据时运行报错:''应用程序在当前操作中使用了错误类型的值'',请高手帮帮我,我不想更改字段类型!
adoquery2.SQL.Clear;
adoquery2.SQL.add(''insert into table (item,color,specif,size,qty)values(:s1,:s2,:s3,:s4,:s5)'');
adoquery2.Parameters.ParamByName(''s1'').Value:=trim(edit1.Text);
adoquery2.Parameters.ParamByName(''s2'').Value:=trim(edit4.Text);
adoquery2.Parameters.ParamByName(''s3'').Value:=trim(edit3.Text);
adoquery2.Parameters.ParamByName(''s4'').Value:=trim(edit2.Text);
adoquery2.Parameters.ParamByName(''s5'').Value:=strtofloat(edit14.Text);
adoquery2.ExecSQL;

2楼: 具体使用的是什么样的数据库?如果是SQL SERVER的话
代码没有问题,分步执行看问题是否处在
adoquery2.Parameters.ParamByName(''s5'').Value:=strtofloat(edit14.Text);这一句
如果是的话程序如下修改看
adoquery2.SQL.Clear;
adoquery2.SQL.add(''insert into table (item,color,specif,size,qty)values(:s1,:s2,:s3,:s4,:s5)'');
adoquery2.Parameters.ParamByName(''s1'').Value:=trim(edit1.Text);
adoquery2.Parameters.ParamByName(''s2'').Value:=trim(edit4.Text);
adoquery2.Parameters.ParamByName(''s3'').Value:=trim(edit3.Text);
adoquery2.Parameters.ParamByName(''s4'').Value:=trim(edit2.Text);
adoquery2.Parameters.ParamByName(''s5'').datatype=ftfloat;
adoquery2.Parameters.ParamByName(''s5'').Value:=strtofloat(edit14.Text);
adoquery2.ExecSQL; 如用友财务软件u8

3楼: adoquery2.Parameters.ParamByName(''s5'').Value 此参数是什么类型的?
item,color,specif,size,qty 都是什么类型的?》

4楼: 小小东
的解释可以尝试一下

5楼: 帮顶!

-------------------------------------
站长开发推广同盟 关注网站,关注技术!

海量源代码下载,二次开发绝佳站点

网址: http://www.source520.com
http://www.source520.net

6楼: 单步运行是出在‘adoquery2.Parameters.ParamByName(''s5'').Value:=strtofloat(edit14.Text)’这一句;


按照二楼所示的方还是一样的错误!!
再UP!!
我不用参数也不行,如下:
adoquery2.sql.add(''insert into table(item,qty)values(test,2.66)'');
adoquery2.execsql

仓库管理软件版7楼: edit14.Text不会写错吧
嘿嘿

8楼: 不用参数也不行?
Test是个什么东东??

9楼: 你把item 和qty的类型都贴出来看看!

10楼: 语句本身没问题,看看传入的值是否有特殊自符(如'')。
试试下面的,并捕获异常
adoquery2.SQL.Clear;
adoquery2.SQL.add(''insert into table (item,color,specif,size,qty)values( '');
adoquery2.SQL.add('''''''' + trim(edit1.Text) + '''''','');
adoquery2.SQL.add('''''''' + trim(edit4.Text) + '''''','');
adoquery2.SQL.add('''''''' + trim(edit3.Text) + '''''','');
adoquery2.SQL.add('''''''' + trim(edit2.Text) + '''''','');
adoquery2.SQL.add('''' + trim(edit14.Text) + '')'');
try
adoquery2.ExecSQL;
except
ShowMessage(adoquery2.SQL.Text);
end;

11楼: 谢谢大家,是我自已把XIZE和QTY的数据类型搞反了!

12楼: 来自:Evan5188, 时间:2006-1-16 8:41:19, ID:3329733


谢谢大家,是我自已把XIZE和QTY的数据类型搞反了!

哈哈,高人一个[:D] 如服装库存管理软件