Foxtable(狐表)用户栏目专家坐堂 → 如何判断外部数据表有某列


  共有13125人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
cxabc123
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
如何判断外部数据表有某列  发帖心情 Post By:2010/8/27 14:08:00 [只看该作者]

比如某外部数据表有一列为:序号,那么如何判断这一外部数据表有“序号”这一列,请予指导

 回到顶部
帅哥哟,离线,有人找我吗?
wcs
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1039 积分:7450 威望:0 精华:0 注册:2008/8/31 22:52:00
  发帖心情 Post By:2010/8/27 14:35:00 [只看该作者]

好像你得加载表,

 

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

 

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

 

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/8/27 15:11:00 [只看该作者]

你说的不是我想要的答案。我要的是:在写一段代码,需要判断外部数据表是否有某列,这时候这个数据表还未加载。请老大或哪位大侠帮忙!

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2010/8/27 15:47:00 [只看该作者]

http://www.foxtable.com/dispbbs.asp?boardid=2&Id=7913&page=4

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33957 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/8/30 8:17:00 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/8/30 8:29:00 [只看该作者]

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
cxabc123
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:810 积分:5250 威望:0 精华:0 注册:2009/2/6 10:38:00
  发帖心情 Post By:2010/8/30 16:04:00 [只看该作者]

老大看看,请指点一下

 回到顶部
总数 14 1 2 下一页