注册 登录
编程论坛 Delphi论坛

帮个忙找下这段写入数据库的程序为什么出错

aaron52088 发布于 2007-01-25 16:41, 619 次点击

程序运行的时候每次都会出现附件里面的那个图的错误提示,
然后数据可以写入数据库表的,
所以希望大家可以帮我看看程序,是哪里出了问题的。谢谢先了。
程序如下:
procedure TForm1.Button1Click(Sender: TObject);

begin
dbgrid1.Enabled:=true;
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('insert into LongUser values(:yhID,:yhm,:cph,:syqx,:kssj,:jssj,:ckh,:lxdh)');
query1.ParamByName('yhID').AsString:=edit1.Text;
query1.ParamByName('yhm').AsString:=edit5.Text;
query1.ParamByName('cph').AsString:=edit2.Text;
query1.ParamByName('syqx').AsString:=edit6.Text;
query1.ParamByName('kssj').AsString:=edit3.Text;
query1.ParamByName('jssj').AsString:=edit7.Text;
query1.ParamByName('ckh').AsString:=edit4.Text;
query1.ParamByName('lxdh').AsString:=edit8.Text;
query1.ExecSQL;
query1.Active:=false;
query1.SQL.Clear;
query1.SQL.Add('select User-ID,User-Name,User-Cph,User-Qixian,User-Begin,User-Over,User-Ckh,User-Tel from LongUser');
query1.ExecSQL;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
end;

7 回复
#2
nongen2007-01-25 17:31
query1.SQL.Add('select User-ID,User-Name,User-Cph,User-Qixian,User-Begin,User-Over,User-Ckh,User-Tel from LongUser');//这里你用了select
query1.ExecSQL;//这里你用的是execsql。不明白为什么这么用。你有什么目的?
#3
aaron520882007-01-26 10:17
……
是我写错了,不过写open还是一样会出现这个错误的呀
#4
基础DELPHI2007-01-26 11:06

query1.SQL.Clear;
query1.SQL.Add('insert into LongUser values(:yhID,:yhm,:cph,:syqx,:kssj,:jssj,:ckh,:lxdh)');
query1.sql.open;//1
query1.sql.append;//1
query1.ParamByName('yhID').AsString:=edit1.Text;
query1.ParamByName('yhm').AsString:=edit5.Text;
query1.ParamByName('cph').AsString:=edit2.Text;
query1.ParamByName('syqx').AsString:=edit6.Text;
query1.ParamByName('kssj').AsString:=edit3.Text;
query1.ParamByName('jssj').AsString:=edit7.Text;
query1.ParamByName('ckh').AsString:=edit4.Text;
query1.ParamByName('lxdh').AsString:=edit8.Text;
query1.post;//1
query1.Active:=false;//去掉这个试试看


query1.ExecSQL;//去掉,改成OPEN,我都是用OPEN的,你试试

#5
aaron520882007-01-26 11:14
加上query1.sql.append;之后会出现not enough actual parameters的错误的。
谢谢你帮忙的。
#6
基础DELPHI2007-01-26 11:36
not enough actual parameters=实际参数不足
你查查参数或者SQL吧
你用的是什么数据库?MYSQL?
#7
aaron520882007-01-29 10:32
我是用delphi自带的database desktop的,
有在Tquery1里面的tag里面添加:“select * from 我的表名”。
#8
基础DELPHI2007-01-30 01:48

有代码么?发来瞧瞧
我菜 找不到你说的
database desktop

1