以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  ft中如何批量删除_Identify列  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=101578)

--  作者:happyft
--  发布时间:2017/6/3 9:47:00
--  ft中如何批量删除_Identify列
\'向数据库中所有表增加删除重命名列
Dim cmd As New SQLCommand
cmd.C
Dim lst As List(Of String)
lst = Connections("EI").GetTableNames
Dim Builder As New ADOXBuilder("EI") 
Builder.Open()
For Each nm As String In lst
    cmd.CommandText = "Se lect * From {" & nm & "} Where [_Identify] is Null"
    Dim dt1 As DataTable = cmd.ExecuteReader()
    If dt1.DataCols.contains("_Locked") = True Then 
        With Builder.Tables(nm)
          .DeleteColumn("sys_Fmax")
        End With
    End If
Next
Builder.Close()

这个代码其他列可以,但以"_" 开头的三个列不能删除,什么原因,只能直接用sql语句删除或者在数据数据中一个一个删除?
谢谢!

--  作者:有点蓝
--  发布时间:2017/6/3 10:09:00
--  
如果是使用狐表生成的表,这几个属于系统列,无法在狐表删除的。如果有数据的表,只能到数据库中一个个表打开设计进行修改。没有数据的表可以导出建表sql,修改后统一重建表