为何找不到这个字段?

Flether1985 2007-09-19 12:36:57

procedure Tryxxfrm.Button1Click(Sender: TObject);
var
ygbh,ygxm,sqltext1,sqltext2: string;
begin
if(combobox1.text='按编号查询')then
begin
ygbh:=edit1.text;
if(radiobutton1.Checked=true)then
with datamodulemis.adoqueryyg do
begin
close;
sql.Clear;
sqltext1:='select ygbh as '+'''员工编号'+''''+',ygxm as'+'''员工姓名'+''''+',bmm as'+'''部门'+''''+',zwmc as'+'''职务'+''''+',lxdh as'+'''联系电话'+''''+',dzyj as'+'''电子邮件'+''''+',yg.bz as '+'''备注'+'''';
sqltext2:='from yg ,zw ,bm where ygbh='+''''+ygbh+''''+'and yg.bmbh=bm.bmbh and yg.zwbh=zw.zwbh';
sql.Add(sqltext1+sqltext2);
open;
if recordcount<>1 then
showmessage('没有这个编号的员工!');
end

else
with datamodulemis.adoqueryyg do
begin
close;
sql.Clear;
sqltext1:='select ygbh as '+'''员工编号'+''''+',ygxm as'+'''员工姓名'+''''+',bmm as'+'''部门'+''''+',zwmc as'+'''职务'+''''+',lxdh as'+'''联系电话'+''''+',dzyj as'+'''电子邮件'+''''+',yg.bz as '+'''备注'+'''';
sqltext2:='from yg,zw ,bm where ygbh like'+QuotedStr('%'+ygbh+'%')+'and yg.bmbh=bm.bmbh and yg.zwbh=zw.zwbh';
sql.Add(sqltext1+sqltext2);
open;
if recordcount=0 then
showmessage('没有这个编号的员工!');
end ;

end

else
begin
ygxm:=edit1.text;
if(radiobutton1.Checked=true)then
with datamodulemis.adoqueryyg do
begin
close;
sql.Clear;
sqltext1:='select ygbh as '+'''员工编号'+''''+',ygxm as'+'''员工姓名'+''''+',bmm as'+'''部门'+''''+',zwmc as'+'''职务'+''''+',lxdh as'+'''联系电话'+''''+',dzyj as'+'''电子邮件'+''''+',yg.bz as '+'''备注'+'''';
sqltext2:= 'from yg ,zw ,bm where ygxm='+''''+ygxm+''''+'and yg.bmbh=bm.bmbh and yg.zwbh=zw.zwbh';
sql.Add(sqltext1+sqltext2);
open;
if recordcount<>1 then
showmessage('没有这个名字的员工!');
end
else


with datamodulemis.adoqueryyg do
begin
close;
sql.Clear;
sqltext1:='select ygbh as '+'''用户编号'+''''+',ygxm as'+'''用户姓名'+''''+',bmm as'+'''部门'+''''+',zwmc as'+'''职务'+''''+',lxdh as'+'''联系电话'+''''+',dzyj as'+'''电子邮件'+''''+',yg.bz as '+'''备注'+'''';
sqltext2:= 'from yg,zw ,bm where ygxm like'+QuotedStr('%'+ygxm+'%')+'and yg.bmbh=bm.bmbh and yg.zwbh=zw.zwbh';
sql.Add(sqltext1+sqltext2);

open;
if recordcount=0 then
showmessage('没有这个名字的员工!');
end ;
end;
edit2.Text:= datamodulemis.ADOQueryyg.FieldByName('ygbh').asstring;//问题出在这里
我只是想把表格里的一条记录的每个字段逐个读取到edit里,但是它提示“field 'ygbh' not found”其实在dbgrid里我已经查出了结果,为何它还说找不到呢?

...全文
101 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jing12 2007-09-19
  • 打赏
  • 举报
回复
"hys_427"为正解,也可:
edit2.Text:= datamodulemis.ADOQueryyg.Fields[0].asstring;
//这种方式只需知道字段的位置,不需知道字段的名称,不过存在一定弊端
wangy2j 2007-09-19
  • 打赏
  • 举报
回复
字段都用英文的
可能服务器就是英文版或繁体版的,容易出问题
brightyang 2007-09-19
  • 打赏
  • 举报
回复
又见中文字段......

郁闷了
喝口水 2007-09-19
  • 打赏
  • 举报
回复
注意你这句ygbh as '+ ' ' '用户编号,你已经把Ygbh重命名为“用户编号”了,你怎么还会找到呢,试试下面这句
edit2.Text:= datamodulemis.ADOQueryyg.FieldByName( '用户编号 ').asstring

2,498

社区成员

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

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