为什么delphi总是报错,adoquery1:field '家庭地址'not found? 可以运行的,但是操作都不成功
答案:3 悬赏:30 手机版
解决时间 2021-02-13 22:50
- 提问者网友:棒棒糖
- 2021-02-13 01:41
为什么delphi总是报错,adoquery1:field '家庭地址'not found? 可以运行的,但是操作都不成功
最佳答案
- 五星知识达人网友:英雄的欲望
- 2021-02-13 03:02
我在想这个个错误是不是这代代码报出来的?如果是,有可能是因为你某一个控件连接着adouqyer1,而在你没执行这段代码时,控件上显示着数据,而且这个控件指向了字段“家庭地址”
当你执行open的时候就报上面的错误了;存在可能有:
1.dbgrid设置了固定列
2.dbedit之类的控件绑定了"家庭地址“列
当你执行open的时候就报上面的错误了;存在可能有:
1.dbgrid设置了固定列
2.dbedit之类的控件绑定了"家庭地址“列
全部回答
- 1楼网友:低音帝王
- 2021-02-13 05:22
liu55721说的对,也可将'select 学号 from change .....' 改为'select * from change ......'。
- 2楼网友:举杯邀酒敬孤独
- 2021-02-13 03:57
'select 学号 from change where 学号='+quotedstr(trim(edit1.Text));语句中并不包含"变动时间"字段,什么去保存ADOQuery1.FieldByName('变动时间').AsDateTime :=self.DateTimePicker1.DateTime ;呢?
经过 adoquery1.SQL.Add(sqlstr);语句之后,ADOQuery1中只有"学号"一个字段,对其它字段操作都是不可以的.
把这一句改一下:
sqlstr:='select 学号 from change where 学号='+quotedstr(trim(edit1.Text));
改为sqlstr:='select 学号,变动时间,家庭住址 from change where 学号='+quotedstr(trim(edit1.Text));
这个判断也可以不要
if trim(edit1.Text)=trim(adoquery1.fieldbyname('学号').AsString) then
因为已经有:where 学号='+quotedstr(trim(edit1.Text));
经过 adoquery1.SQL.Add(sqlstr);语句之后,ADOQuery1中只有"学号"一个字段,对其它字段操作都是不可以的.
把这一句改一下:
sqlstr:='select 学号 from change where 学号='+quotedstr(trim(edit1.Text));
改为sqlstr:='select 学号,变动时间,家庭住址 from change where 学号='+quotedstr(trim(edit1.Text));
这个判断也可以不要
if trim(edit1.Text)=trim(adoquery1.fieldbyname('学号').AsString) then
因为已经有:where 学号='+quotedstr(trim(edit1.Text));
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯