以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态更新表结构 提示 从字符串“ADOXType.string”到类型“Integer”的转换无效  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175081)

--  作者:cnsjroom
--  发布时间:2022/2/18 17:16:00
--  动态更新表结构 提示 从字符串“ADOXType.string”到类型“Integer”的转换无效

发布后的项目如何新增列

 

当前窗体有表名  列名  类型   长度是个文本输入框

 

按钮代码如下:【运行错误从字符串“ADOXType.string”到类型“Integer”的转换无效。没有成功实现对应的表名增加对应的列,麻烦老师看看】

 

Dim Builder As New ADOXBuilder("委") \'要指定数据源名称
Dim tbl As ADOXTable
Builder.Open()
tbl = Builder.NewTable(e.form.controls("表名").text) \'创建表

Dim 表名 As WinForm.TextBox = e.Form.Controls("表名")
Dim 类型 As WinForm.TextBox = e.Form.Controls("类型")
Dim 列名 As WinForm.TextBox = e.Form.Controls("列名")
Dim 长度 As WinForm.TextBox = e.Form.Controls("长度")

With tbl
    If 类型.text.Contains("String") Or 类型.text.Contains("DateTime") Or 类型.text.Contains("Integer") Or 类型.text.Contains("text") Then
        .AddColumn(列名.text ,"ADOXType." & 类型.text, 长度.value)
    Else
        .AddColumn(列名.text ,"ADOXType." & 类型.text)
    End If
End With
Builder.AddTable(tbl) \'增加表
Builder.Close()


--  作者:有点蓝
--  发布时间:2022/2/18 17:23:00
--  
With tbl
if 类型.text.Contains("String")
.AddColumn(列名.text ,ADOXType.String, 长度.value)
elseif 类型.text.Contains("DateTime")
.AddColumn(列名.text ,ADOXType.DateTime)
elseif.....
……
End With