一段ADOQuery的貸码?和函数。请教各位一下!在线等待

linlky 2003-06-28 11:29:46
procedure TNew_person_add.person_list_add(Ename:TEdit;Epin,Eperson_tell,Eperson_QQ,Eperson_mail,Eperson_position,Eperson_addr:TEdit;Person_Age:integer);
Begin
Comman.UsernpQ.SQL.Clear;
Comman.UsernpQ.SQL.Add('Select * from Person_Name_password');
Comman.UsernpQ.Open;
comman.UsernpQ.Append;
comman.UsernpQ['user_name']:=Ename;
comman.UsernpQ['user_password']:=Epin;
Comman.UsernpQ['User_Birs']:=StrToInt(Person_Age);
Comman.UsernpQ['User_Tell']:=Eperson_tell;
Comman.UsernpQ['User_QQ']:=Eperson_QQ;
Comman.UsernpQ['User_Email']:=Eperson_mail;
Comman.UsernpQ['User_Position']:=Eperson_position;
Comman.UsernpQ['User_Address']:=Eperson_addr;
end;

上面是函数體。

下面是調用。
procedure TNew_person_add.B_addClick(Sender: TObject);
begin
person_list_add(E_name,E_pin,E_person_tell,E_person_QQ,E_person_mail,E_person_position,E_person_addr,E_Age);
IF application.MessageBox('妳確定輸入正確了?','操作正確吗?',MB_OKCANCEL)=Mrok then
comman.UsernpQ.Post
Else
comman.UsernpQ.Cancel;
end;

可是會一直出錯呀。

[Error] Page4.pas(55): Incompatible types: 'Variant' and 'TEdit'
[Error] Page4.pas(56): Incompatible types: 'Variant' and 'TEdit'
[Error] Page4.pas(57): Incompatible types: 'String' and 'Integer'
[Error] Page4.pas(58): Incompatible types: 'Variant' and 'TEdit'
[Error] Page4.pas(59): Incompatible types: 'Variant' and 'TEdit'
[Error] Page4.pas(60): Incompatible types: 'Variant' and 'TEdit'
[Error] Page4.pas(61): Incompatible types: 'Variant' and 'TEdit'
[Error] Page4.pas(62): Incompatible types: 'Variant' and 'TEdit'
[Error] Page4.pas(70): Undeclared identifier: 'E_person_mail'
[Error] Page4.pas(70): Incompatible types: 'Integer' and 'TEdit'
[Fatal Error] page1.pas(34): Could not compile used unit 'Page4.pas'

我要怎么做才行呢? 請各位指教一下。多謝。。。。。
...全文
34 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
cow8063 2003-06-29
  • 打赏
  • 举报
回复
Ename:TEdit 你看你这个,下面应该是Ename.text,其它类似

这样
comman.UsernpQ('user_name').AsString:=Ename.text;//其它一样
dolphin2001 2003-06-29
  • 打赏
  • 举报
回复
E_name,E_pin,E_person_tell,E_person_QQ,E_person_mail,E_person_position,E_person_addr,E_Age 这些变量是不是都是Edit的控件名字啊,如果需要读取值需要加 XXX.Text
payzq 2003-06-29
  • 打赏
  • 举报
回复
用adoquery直接在sql中写insert就行了;还有需要把你的值传给你的参数
firetoucher 2003-06-29
  • 打赏
  • 举报
回复
:)
还有70行的'E_person_mail'改为'Eperson_mail'
blueshu 2003-06-29
  • 打赏
  • 举报
回复
太长了^__^
NC217 2003-06-29
  • 打赏
  • 举报
回复
在每個参数后加個TEXT例:Ename.Text

就行了。。。。
cow8063 2003-06-29
  • 打赏
  • 举报
回复
data1.qsgd.parameters.parambyname('p6').asfloat:=strtofloat(xdj.text);

到处见到你的
daniel2008 2003-06-29
  • 打赏
  • 举报
回复
问一下:SERVER中是numeric.带几位小数的类型.在DELPHI中如何保存数据
data1.qsgd.parameters.parambyname('p6').value:= ?(xdj.text);
liqj_csdn 2003-06-29
  • 打赏
  • 举报
回复
函数定义不好了。
调用时多写一点了,如果是控件。
procedure TNew_person_add.person_list_add(Ename,Epin,Eperson_tell,Eperson_QQ,Eperson_mail,Eperson_position,Eperson_addr,Person_Age:string);
Begin
Comman.UsernpQ.SQL.Clear;
Comman.UsernpQ.SQL.Add('Select * from Person_Name_password');
Comman.UsernpQ.Open;
comman.UsernpQ.Append;
comman.UsernpQ['user_name']:=Ename;
comman.UsernpQ['user_password']:=Epin;
Comman.UsernpQ['User_Birs']:=StrToInt(Person_Age);
Comman.UsernpQ['User_Tell']:=Eperson_tell;
Comman.UsernpQ['User_QQ']:=Eperson_QQ;
Comman.UsernpQ['User_Email']:=Eperson_mail;
Comman.UsernpQ['User_Position']:=Eperson_position;
Comman.UsernpQ['User_Address']:=Eperson_addr;
end;


下面是調用。
procedure TNew_person_add.B_addClick(Sender: TObject);
begin
person_list_add(E_name.text,E_pin.text,E_person_tell.text,E_person_QQ.text,E_person_mail.text,E_person_position.text,E_person_addr.text,E_Age.text);
IF application.MessageBox('妳確定輸入正確了?','操作正確吗?',MB_OKCANCEL)=Mrok then
comman.UsernpQ.Post
Else
comman.UsernpQ.Cancel;
end;

这样不是好一点吗?
reallike 2003-06-29
  • 打赏
  • 举报
回复
晕特了……
nbforyou 2003-06-29
  • 打赏
  • 举报
回复
看来这位兄弟对delphi对像还不是很了解呀,
procedure TNew_person_add.person_list_add(Ename:TEdit;Epin,Eperson_tell,Eperson_QQ,Eperson_mail,Eperson_position,Eperson_addr:TEdit;Person_Age:integer);

”TEdit“这可是对像(可以说是控件)他有很多属性的,你要的是他的值,而”TEdit“的值是”TEdit“.text;你知道了吗?
gzyzljk 2003-06-28
  • 打赏
  • 举报
回复
Comman.UsernpQ.SQL.Clear;
Comman.UsernpQ.SQL.Add('insert Person_Name_password values(:Pname,:Ppassword......)');
Comman.UsernpQ.parameters.ParamByName('Pname').value:=ename.text;
......
if .. then Comman.UsernpQ.open;


yzykjh 2003-06-28
  • 打赏
  • 举报
回复
comman.UsernpQ['user_name']:=Ename;
comman.UsernpQ['user_password']:=Epin.value;
Comman.UsernpQ['User_Birs']:=StrToInt(Person_Age.value);
Comman.UsernpQ['User_Tell']:=Eperson_tell.value;
Comman.UsernpQ['User_QQ']:=Eperson_QQ.value;
Comman.UsernpQ['User_Email']:=Eperson_mail.value;
Comman.UsernpQ['User_Position']:=Eperson_position.value;
Comman.UsernpQ['User_Address']:=Eperson_addr.value;
STYun 2003-06-28
  • 打赏
  • 举报
回复
楼上的搞笑在吧
xthggg 2003-06-28
  • 打赏
  • 举报
回复
这里有问题:
comman.UsernpQ['user_name']:=Ename;
comman.UsernpQ['user_password']:=Epin;
Comman.UsernpQ['User_Birs']:=StrToInt(Person_Age);
Comman.UsernpQ['User_Tell']:=Eperson_tell;
Comman.UsernpQ['User_QQ']:=Eperson_QQ;
Comman.UsernpQ['User_Email']:=Eperson_mail;
Comman.UsernpQ['User_Position']:=Eperson_position;
Comman.UsernpQ['User_Address']:=Eperson_addr;



改为:comman.UsernpQ.fieldvalues['user_name']:=Ename
.......
.....
STYun 2003-06-28
  • 打赏
  • 举报
回复
comman.UsernpQ['user_name']:=trim(Ename.text);
comman.UsernpQ['user_password']:=trim(Epin.text);

下面的同上,try it again!
shenjhshen 2003-06-28
  • 打赏
  • 举报
回复
哈哈,

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧