Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共14 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:如何判断外部数据表有某列

1楼
cxabc123 发表于:2010/8/27 14:08:00
比如某外部数据表有一列为:序号,那么如何判断这一外部数据表有“序号”这一列,请予指导
2楼
wcs 发表于:2010/8/27 14:35:00

好像你得加载表,

 

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

 

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

 

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

[此贴子已经被作者于2010-8-27 14:45:30编辑过]
3楼
cxabc123 发表于:2010/8/27 15:11:00
你说的不是我想要的答案。我要的是:在写一段代码,需要判断外部数据表是否有某列,这时候这个数据表还未加载。请老大或哪位大侠帮忙!
4楼
blackzhu 发表于:2010/8/27 15:47:00
http://www.foxtable.com/dispbbs.asp?boardid=2&Id=7913&page=4
5楼
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编辑过]
6楼
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
我试成功了,感谢指点
7楼
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
我试成功了,感谢指点

 

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

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

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

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

10楼
cxabc123 发表于:2010/8/30 16:04:00
老大看看,请指点一下
共14 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.