数据插入的问题(10分)

  • 主题发起人 主题发起人 潮州人
  • 开始时间 开始时间

潮州人

Unregistered / Unconfirmed
GUEST, unregistred user!
出错提示:参数GroupID没有默认值.
GroupID是整数型字段,插入代码如下:
with GroupADOQuery do
begin
Close;
SQL.Clear;
SQL.Add ('select GroupID from GroupTab where GroupName = ''' + GroupName.Text + '''');
Open;
end;
GroupID := strtoint(GroupADOQuery.Fields[0].AsString);
With UserOtherADOQuery do
begin
Close;
SQL.Clear;
出错行 SQL.Add ('INSERT INTO Operator (GroupID,LoginName,Passwd,TrueName) VALUES (GroupID,"'+LoginName.Text+'","'+Passwd.Text+'","'+TrueName.Text+'")');
ExecSQL;
end;
 
给你改一下
SQL.Add ('INSERT INTO Operator (GroupID,LoginName,Passwd,TrueName) VALUES ('+GroupID+',"'+LoginName.Text+'","'+Passwd.Text+'","'+TrueName.Text+'")');
另外建议你不要用双引号
变量名不要和字段名一样,自己容易混淆!
 
恐怕得这么写:
SQL.Add ('INSERT INTO Operator (GroupID,LoginName,Passwd,TrueName) VALUES ('
+IntToStr(GroupID)+',"'+LoginName.Text+'","'+Passwd.Text+'","'+TrueName.Text+'")');
 
真是多谢了,我是初学者.会改的.
 
可以这样修改:
SQL.Add ('INSERT INTO Operator (GroupID,LoginName,Passwd,TrueName) VALUES (:GroupID,:LoginName,:Passwd,:TrueName)');
Parameters.ParamByName('GroupID').value:=GroupID;
Parameters.ParamByName('LoginName').value:=LoginName.Text;
Parameters.ParamByName('Passwd').value:=Passwd.Text;
Parameters.ParamByName('TrueName').value:=TrueName.Text;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
790
import
I
I
回复
0
查看
664
import
I
后退
顶部