以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 未加载表的情况下如何取得外部数据源的表的列名 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33502) |
-- 作者:zpx_2012 -- 发布时间:2013/5/19 19:27:00 -- 未加载表的情况下如何取得外部数据源的表的列名 如题,因为打开项目时没有加载任何表(表括空表),如下代码只能得到数据源的表名
Dim lst As List(Of String)
因为没有加载表,用for each col等遍历datatable或table是不起作用的。
要如何才能得到每个后台表的列名? 谢谢
|
-- 作者:Bin -- 发布时间:2013/5/20 8:42:00 -- select name from syscolumns where id=(select max(id) from sysobjects where xtype=\'u\' and name=\'表名\') 使用以上SQL语句即可.
|
-- 作者:zpx_2012 -- 发布时间:2013/5/20 17:26:00 -- 谢谢BIN,但这样每次不是都要检索表中所有记录,如果数据量大会否影响速度,没有其他直接得到表名的方式吗?类似遍历for each dc as datacol in XXX那样? |
-- 作者:Bin -- 发布时间:2013/5/20 17:36:00 -- 目前只能使用个方法. 至于效率问题,你可以自行测试一下. |
-- 作者:y2287958 -- 发布时间:2013/5/20 21:58:00 -- Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SELECT * From {表C}" dt = cmd.ExecuteReader() For Each dc As DataCol In dt.DataCols Output.Show(dc.Name) Next 是这个意思吗? 表C是未加载的
|