以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何判断外部数据表有某列 (http://foxtable.net/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 -- 老大看看,请指点一下 |