ADOConnection得到字段名的问题(50分)

  • 主题发起人 主题发起人 rockjie
  • 开始时间 开始时间
R

rockjie

Unregistered / Unconfirmed
GUEST, unregistred user!
请问大家
...
ADOConnection1.GetFieldNames('USERSQL',ListBox1.Items);
...
会报“对象或提供者不能执行所需操作”的错误,为什么啊?要设置ADOConnection1
的什么属性啊?
 
不明白你的意思,你要做些什么效果?
 
GetFieldNames是TDataSet提供的方法,并不是TADOConnection的,而且它的参数只有一个,
并不是你贴出来的那样。
你完全搞错了。
可能你想取得某个表的所有字段列表,应该在TADOQuery,或TADOTable上想办法(TADODataSet也行)
 
to:szf
你看看帮助再说好不好?!用Query的话我也就不贴此贴了!
to:晓风月
不是做效果,就是简单的用adoconnection得到Oracle所有的表名和所指定表名的所有字段名
你试过吗?:)
 
呵,我的DELPHI5的帮助有问题~~确实是有。
但你的问题是oracle的OLEDB返回给ADO组件的。
如果你用微软产的OLEDB for oracle,就不会报错,但没有结果回来。
如果要解决这个问题,我觉得应该要看一看oracle的oledb开发文档。
不过我觉得用TADOTable来做也是可以的呀,只要把它的Maxrocords属性设为1,
就不用担心大量数据的传输了。
 
to:szf
我用的就是微软的OLEDB,Oracle的OLEDB也是一样的错误,但是你怎么没错,我就有错啊?
如果我用ADOTable得到表名就没有系统表名了啊
除非用AdoQuery查询了,那多傻,得到字段还要把表名当参数传进去,还是没达到我的目的啊,呵呵
加油!:)
 
字段名好得,但如何得到每个字段的属性呢?
如,这个字段是什么类型,多大......
可加高分!!!!
 
doll_paul,您是问问题还是解答问题?是您加分还是我加分??呵呵
 
哈哈,如果我的问题可以得到解决,我可以帮助给分啊!!!!
 
TADOConnection.OpenSchema
domo中有例子;
用Adox,
李维的书上有
 
如果用SQL SERVER的话,在系统表中就有每个表的字段的属性
 
ADOConnection1.GetTableNames(Memo1.Lines,True);
这样就连系统表都出来了。
 
ADOConnection1.GetTableNames(Memo1.Lines,False);
就没系统表了~
to 王公子,那个表?我找了,没有找到,请说明,谢谢!
to ZZHI,收到,谢谢你的提示,我找到我要的了! 有空可否QQ聊聊?
 
各位观众!
ADOConnection1.GetTableNames(Memo1.Lines,True);
我早知道!我还知道如果要得到表名(包括系统表)必须设置他cursorlocation为clUseServer
TADOConnection.OpenSchema只要看delphi的原码就知道!OK?!
我现在要ADOConnection1.GetFieldNames成功!~~~能解决吗?!~~[:D]
 
select name,xtype from syscolumns where id=
(select id from sysobjects where name='这是表名')
 
to 各位观众!
oracle的还是select * from tab就可以得到表名!知道了吗?
怎么我成回答问题的了啊?![:D]
 
还有oracle得到字段信息的SQL语句是desc tablename
OK??!!
现在要用ADOCONNECtion1.getfieldnames来得到!大家帮忙!解决了就加分,再加50!
 
TADOConnection.GetTableNames(List: TStrings;
SystemTables: Boolean = False);
这已经很清楚了,可以得到表名,
得到字段名使用TADOQuery.GetFieldNames(List: TStrings);
 
后退
顶部