adoquery一个奇怪的问题,难道是bug吗,有做过数据库看看,我很急,在线等(10分)

  • 主题发起人 主题发起人 yuzhi2005
  • 开始时间 开始时间
Y

yuzhi2005

Unregistered / Unconfirmed
GUEST, unregistred user!
ADOQueryUser.Close;
ADOQueryUser.SQL.Clear;
ADOQueryUser.SQL.Add('Select * from User');
ADOQueryUser.ExecSQL;
ADOQueryUser.FieldByName()
我用上面的一段执行连接数据库的操作,注意最后一句,这样是可以调出FieldByName()来,但是换成这样:
ADOQueryUser.Close;
ADOQueryUser.SQL.Clear;
ADOQueryUser.SQL.Add('Select * from User');
ADOQueryUser.ExecSQL;
Combox1.text:=ADOQueryUser.
这样就调不出FieldByName()了,说有错误,怎么回事啊???
 
前后的类型不同,当然调不出啦
 
做赋值是一定要前后类型相同
 
可以调出来的.
你自己写ADOQUERYUSER.FIELDBYNAME('').ASSTRING;
 
Combox1.text:=ADOQueryUser.FIELDBYNAME('').ASSTRING; 不会报错的.
 
另一个问题:ExecSQL;
查询时应用Open
 
ruig,grayback,谢谢
但是不是你们说的原因,FIELDBYNAME('')都出不来,asstring当然也没有了
 
时报平,这一点我没有考虑,两者有什么区别啊??
 
ExecSQL:无返回值时用
Open:有返回结果时用。
 
上面说的多清楚呀,查询出结果使用open,执行更新、插入、删除使用execsql,赋值时要检查类型和空置的处理
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部