当前位置:主页>销售管理软件> 列表

看不出来错在哪里! 找速达1000进销存

销售管理软件版1楼: with Adoquery1 do
begin
Close;
SQL.Clear;
SQL.Add(''Update 商品信息'');
SQL.Add(''Set 库存数量=库存数量+:A where 产品编号=:B'');
Parameters.ParamByName(''A'').Value := StrToInt(RzEdit3.Text);
Parameters.ParamByName(''B'').Value := RzLabel14.Caption;
ExecSQL;
end;
以上语句执行时会报错:''至少一个参数没有被指定值''。明明都指定了嘛,到底错在哪儿呢?请高手指点。谢谢!

2楼: with Adoquery1 do
begin
Close;
SQL.Clear;
SQL.Add(''Update 商品信息'');
SQL.Add(''Set 库存数量=库存数量+'' + RzEdit3.Text + '' where 产品编号='''''' + RzLabel14.Caption + '''''');
ExecSQL;
end;

这样写简单明了! 如进销存软件哪个好

3楼: RzLabel14.Caption 是空的?

4楼: 不是空的!

5楼: 要先定义参数类型

Parameters.ParamByName(''A'').DataType := ftInteger;
Parameters.ParamByName(''A'').Value := StrToInt(RzEdit3.Text);
Parameters.ParamByName(''B'').DataType := ftString;
Parameters.ParamByName(''B'').Value := RzLabel14.Caption;

6楼: to Sun_8113:
试过了,没用的。另外说明一下我用的是Access 2000数据库。

销售管理软件版7楼: 有没有试过用单步调试查看SQL.TEXT的值,这样能更清楚的看清错在哪儿。
在我看来有些地方应该有空格的。

8楼: 有会的吗?

9楼: 把语句精简,调试,看看是A和B哪个参数问题

10楼: 单步调试看RzEdit3.Text 和RzLabel14.Caption 的值

11楼: 它们的值都很正常呵。

12楼: 有当相似的经历,我当时出现的问题就是空格问题,你用trim()
还有就是SQL语句里的各个关键值最好检查一下空格问题。 如速达1000进销存

13楼: 多人接受答案了。