添加记录后出错,Y?(50分)

  • 主题发起人 untitled
  • 开始时间
U

untitled

Unregistered / Unconfirmed
GUEST, unregistred user!
已经成功添加记录,但仍然出错,何解?
Invalid use keyword token: form
Line number: 1'

源代码如下:
with query1 do
begin
close;
SQL.Clear;
SQL.Add('select * from stock where 机器型号='+quotedstr(Edit4.Text));
open;
Total_stock:=RecordCount;
If Total_stock>0 then
begin //如果已有本型号存在,则更新库存数量
num:=num+StrToint(edit8.Text);
close;
SQL.Clear;
//更新记录
SQL.Add('update stock set 存量=:num where 机器型号=:机器型号');
fieldbyname('机器型号').Asstring:=Edit4.text;
execsql;
showmessage('已更新库存数量');
end;
If Total_stock=0 then
begin //如果没有,新增记录
close;
Sql.clear;
SQL.Add('select * from stock');
open;
append; //追加记录
//为字段赋值
fieldbyname('机器型号').AsString:= Edit4.text;
fieldbyname('存量').AsInteger:= strtoint(Edit8.text);
fieldbyname('单价').AsInteger:= StrToInt(Edit7.Text);
post;
showmessage('已添加到库中!');
end;
end;
 
在执行哪一句时报错的?
 
没有出错信息很难帮你判断
 
应该已经执行完了,点击Showmessage提示的窗口后即报错。
 
出错信息是这个:
Invalid use keyword token: form
Line number: 1'
 
看了半天,没看出错来。呵呵。
试试单步执行,看看报错前query1.sql的值是什么也许能解决问题
 
我改了改一点后,有时行,有时又不行了。
 
SQL.Add('select * from stock where 机器型号='+quotedstr(Edit4.Text));
改成:
'select * from stock where 机器型号='+''''+Edit4.Text+''''
 
如果你的"机器型号"的字段是字符型的,应该写成这样:

SQL.Add('select * from stock where 机器型号='''+quotedstr(Edit4.Text)) + '''');



 
麻烦各位了,已经搞定。是其它原因造成的,上面的代码无问题。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
933
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部