我写了一个类(无窗体),里面有一个TADOQuery的对象Sql,其中有一个
Function DataOper(Condition:String)
begin
with ADOQuery1 do
begin
Sql.SQL.Clear;
Sql.sql.Add(Condtion);
Sql.ExecSQL;
end;
end;
注:Condition的值是从前台传入的,Access数据库username表只有两个字段User_Name,PassWord
EdtUserNameA.Text:='li';
EdtUserNameA.Text:='lp';
如果:Condition:='Insert into username values("'+ EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")';
-----------------------可通过
如果:Condition:='Insert into username(User_Name) values("'+ EdtUserNameA.Text +'")';
-----------------------可通过
如果:Condition:='Insert into username(User_Name,PassWord) values("'+ EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")';
-----------------------不可通过,说是Insert语法错误
为什么?????????????????????????????
请各位大哥告诉小弟,昨天我已经快疯了,我用的是Delphi7,还有请给出Delete,Update的语句。(千万不要让我查帮助,我已经找了很久了)。
拜托,千万给我可执行的代码。我求你了。可通过一定给分。请区分"和'.
Function DataOper(Condition:String)
begin
with ADOQuery1 do
begin
Sql.SQL.Clear;
Sql.sql.Add(Condtion);
Sql.ExecSQL;
end;
end;
注:Condition的值是从前台传入的,Access数据库username表只有两个字段User_Name,PassWord
EdtUserNameA.Text:='li';
EdtUserNameA.Text:='lp';
如果:Condition:='Insert into username values("'+ EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")';
-----------------------可通过
如果:Condition:='Insert into username(User_Name) values("'+ EdtUserNameA.Text +'")';
-----------------------可通过
如果:Condition:='Insert into username(User_Name,PassWord) values("'+ EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")';
-----------------------不可通过,说是Insert语法错误
为什么?????????????????????????????
请各位大哥告诉小弟,昨天我已经快疯了,我用的是Delphi7,还有请给出Delete,Update的语句。(千万不要让我查帮助,我已经找了很久了)。
拜托,千万给我可执行的代码。我求你了。可通过一定给分。请区分"和'.
. ~~~~~~~~~~~
EdtUserNameA.Text +'","'+ MEdtKeyA.Text +'")';
类似No, ID, Password 这些都是很多数据库的关键字,你要回避,如果用最好加上前缀,比如 f_password,
Function DataOper(Condition:String) : Boolean ;
begin
with ADOQuery1 do
begin
Close ;
Sql.Text := Condition ;
Try
ExecSql ;
Except
Result := False ;
End ;
Result := True ;
end;
end;Condition := 'insert into username(User_Name,Password) Values(''' + EdtUserNameA.Text + ''',''' + EdtKeyA.Text + ''')' ;应该没错