以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何判断外部数据表有某列  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=7993)

--  作者:cxabc123
--  发布时间:2010/8/27 14:08:00
--  如何判断外部数据表有某列
比如某外部数据表有一列为:序号,那么如何判断这一外部数据表有“序号”这一列,请予指导
--  作者:wcs
--  发布时间:2010/8/27 14:35:00
--  

好像你得加载表,

 

记得有一个获取某数据源所有表名的方法,你可以用一下。

 

为了快点,你可以只加载少部分行。

 

加载了后,想查这个就方便了。

[此贴子已经被作者于2010-8-27 14:45:30编辑过]

--  作者:cxabc123
--  发布时间:2010/8/27 15:11:00
--  
你说的不是我想要的答案。我要的是:在写一段代码,需要判断外部数据表是否有某列,这时候这个数据表还未加载。请老大或哪位大侠帮忙!
--  作者:blackzhu
--  发布时间:2010/8/27 15:47:00
--  
http://www.foxtable.com/dispbbs.asp?boardid=2&Id=7913&page=4
--  作者:czy
--  发布时间:2010/8/27 18:36:00
--  
Dim cmd As New SQLCommand
cmd.ConnectionName  = "test"
cmd.CommandText = "SELECT * From {表名} Where 主键 < 0"
If cmd.ExecuteReader().DataCols.Contains("序号") Then
    MessageBox.Show("有")
End If
[此贴子已经被作者于2010-8-27 18:36:43编辑过]

--  作者:cxabc123
--  发布时间:2010/8/28 14:49:00
--  
 Dim cmd As New SQLCommand
            cmd.ConnectionName  = “数据源名称”
            cmd.CommandText = "Select * From [" & 数据表名 & "] "
            If cmd.ExecuteReader().DataCols.Contains(r("列名")) Then
                MessageBox.Show(r("列名") & "  列已经存在!")
                Return
            End If
我试成功了,感谢指点

--  作者:czy
--  发布时间:2010/8/28 19:28:00
--  
以下是引用cxabc123在2010-8-28 14:49:00的发言:
 Dim cmd As New SQLCommand
            cmd.ConnectionName  = “数据源名称”
            cmd.CommandText = "Select * From [" & 数据表名 & "] "
            If cmd.ExecuteReader().DataCols.Contains(r("列名")) Then
                MessageBox.Show(r("列名") & "  列已经存在!")
                Return
            End If
我试成功了,感谢指点

 

最好加上主键的条件,不然如果这个外部表数据量大会影响速度的。


--  作者:cxabc123
--  发布时间:2010/8/30 8:17:00
--  
我没有明白Where 主键 < 0是什么意思,能说详细一点吗,为什么要小于0
[此贴子已经被作者于2010-8-30 8:17:47编辑过]

--  作者:cxabc123
--  发布时间:2010/8/30 8:29:00
--  

cmd.CommandText = "Select * From [" & 数据表名 & "] "
在这一段代码中应该是{},还是[],帮助中有一处是[],也可以执行,但在其他地方都是{}。哪一个更正确。

cmd.CommandText = "Select * From [" & 数据表名 & "] "这一段冷不冷改成cmd.CommandText = "Select * From { 数据表名}",但是改成这样又不能执行,我重视不理解。


--  作者:cxabc123
--  发布时间:2010/8/30 16:04:00
--  
老大看看,请指点一下