注册 登录
编程论坛 Delphi论坛

我想把dbgrid的内容改为edit.text的内容,但总是报错?

chianti1010 发布于 2006-05-09 21:04, 816 次点击

我运行总是报错,Tcourse里有study、docter、master、time等这些列名,到底哪里错了?
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='update Tcourse set study='''+edit3.Text+'''';
adoquery1.SQL.Text:=',docter='''+edit4.Text+'''';
adoquery1.SQL.Text:=',master='''+edit5.Text+'''';
adoquery1.SQL.text:= ',[time]='''+edit6.Text+'''';
adoquery1.SQL.text:=' where num='''+edit1.Text+'''';
adoquery1.Open;

3 回复
#2
qyzzjian2006-05-11 19:25
将第一个SQL.TEXT后的改为SQL.ADD()试一下,
还有update 应该用Adoquery1.ExecSQL的,OPEN只处理SELECT语句!

[此贴子已经被作者于2006-5-11 19:48:30编辑过]

#3
lsyc2006-05-15 11:43
改成这样吧
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.add:='update Tcourse set study=:study,docter=:docter,master=:master,time=:time where num=:num';
adoquery1.Parameters.ParamByName('study').Value:=eidt3.txt;
adoquery1.Parameters.ParamByName('docter').Value:=eidt4.txt;
adoquery1.Parameters.ParamByName('master').Value:=eidt5.txt;
adoquery1.Parameters.ParamByName('time').Value:=eidt6.txt;
adoquery1.Parameters.ParamByName('num').Value:=eidt1.txt;
adoquery1.ExecSQL;
#4
zhansong3332006-05-15 16:33
select 用open;
其他的用 execsql;
1