以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 老师,如何判断一个表中的列是否为临时列? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174592) |
-- 作者:fntfgz -- 发布时间:2022/1/22 10:30:00 -- 老师,如何判断一个表中的列是否为临时列? 老师,如何判断一个表中的列是否为临时列? |
-- 作者:有点蓝 -- 发布时间:2022/1/22 11:01:00 -- 方法1、创建临时列的时候使用一个固定的前缀,比如:临_第一列、临_第二列 2、使用SQLcommand返回后台数据库的表,然后比较2个表结构,不存在数据库的,又没有表达式就是临时列
|
-- 作者:fntfgz -- 发布时间:2022/1/23 7:25:00 -- 老师,我用您提供的第二个方法,对一个表手工填加临时列,然后删除,但是总是删除不干净,剩下两个临时列,不是问题出在哪里? Dim bm As String ="临时表" If not DataTables(bm).DataCols.Contains("所属表") Then DataTables(bm).DataCols.Add("所属表", Gettype(String), 200) End If If not DataTables(bm).DataCols.Contains("列名") Then DataTables(bm).DataCols.Add("列名", Gettype(String), 200) End If If not DataTables(bm).DataCols.Contains("类型") Then DataTables(bm).DataCols.Add("类型", Gettype(String), 200) End If If not DataTables(bm).DataCols.Contains("长度") Then DataTables(bm).DataCols.Add("长度", Gettype(String), 200) End If If not DataTables(bm).DataCols.Contains("数据源名称") Then DataTables(bm).DataCols.Add("数据源名称", Gettype(String), 200) End If DataTables(bm).DeleteFor("[_Identify] Is not null") Dim cmd As New SQLCommand Dim dt As DataTable cmd.CommandText = "SELECT * Fro m {临时表}" dt = cmd.ExecuteReader() For Each dc As DataCol In dt.DataCols Output.Show("ll " & dc.Name) Next For Each dl As Col In CurrentTable.Cols Output.Show(dl.Name) If dt.DataCols.Contains(dl.name)=False Then DataTables(bm).DataCols.Delete(dl.Name) End If Next |
-- 作者:fntfgz -- 发布时间:2022/1/23 15:13:00 -- 老师,有时间帮看一下 |
-- 作者:有点蓝 -- 发布时间:2022/1/23 21:24:00 -- 删除要倒序处理,从后面开始删除 |