Foxtable(狐表)用户栏目专家坐堂 → 语法解法


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

主题:语法解法

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


加好友 发短信
等级:童狐 帖子:282 积分:1760 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/13 13:50:00 [只看该作者]

请问下在字段前加上@有什么作用,在那个地方有关于@用户的介绍
cmd.Parameters.Add("@日期",Date.Today)

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


加好友 发短信
等级:版主 帖子:72502 积分:363620 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/9/13 14:30:00 [只看该作者]

随便写一个名字都可以的,如

 

cmd.Parameters.Add("123abc", Date.Today)


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


加好友 发短信
等级:童狐 帖子:282 积分:1760 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/14 23:51:00 [只看该作者]

老师:请问下如何动态批量的创建表

图片点击可在新窗口打开查看此主题相关图片如下:创建表.png
图片点击可在新窗口打开查看
我在表A中创建要创建的表名、字段名、字段标题、类型、长度应在那个事件中怎么写代码


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


加好友 发短信
等级:超级版主 帖子:23372 积分:119198 威望:0 精华:7 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/15 8:45:00 [只看该作者]

创建菜单按钮/窗口按钮写代码


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


加好友 发短信
等级:童狐 帖子:282 积分:1760 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/15 9:16:00 [只看该作者]

Dim lst As new List(of String)
lst = DataTables("表A").GetValues("表名")
For Each s As String In lst
    If DataTables.Contains(s) = False Then
        For Each dr As DataRow In DataTables("表A").Select("表名 = '" & s & "'")
            Dim Builder As New ADOXBuilder("ckgl") '要指定数据源名称
            Dim tbl As ADOXTable
            Builder.Open()
            tbl = Builder.NewTable(s) '创建表
            With tbl
                .AddColumn(dr("字段名") ,ADOXType. & dr("类型"),dr("长度"))
                .AddColumn("产品" ,ADOXType.String, 12)
            End With
            Builder.AddTable(tbl, True, True) '增加表
            Builder.Close()
        Next
    End If
Next

请问老师应怎么修改上述代码

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


加好友 发短信
等级:超级版主 帖子:23372 积分:119198 威望:0 精华:7 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/15 9:22:00 [只看该作者]

Dim lst As new List(of String)
lst = DataTables("表A").GetValues("表名")
For Each s As String In lst
    If DataTables.Contains(s) = False Then
        Dim Builder As New ADOXBuilder("ckgl") '要指定数据源名称
        Dim tbl As ADOXTable
        Builder.Open()
        tbl = Builder.NewTable(s) '创建表
        
        For Each dr As DataRow In DataTables("表A").Select("表名 = '" & s & "'")
            With tbl
                Select Case dr("类型")
                    Case "String"
                        .AddColumn(dr("字段名") ,ADOXType.String ,dr("长度"))
                    Case "Integer"
                        .AddColumn(dr("字段名") ,ADOXType.Integer)
                    Case ...其他类型自己补上
                End Select
            End With
        Next
        Builder.AddTable(tbl, True, True) '增加表
        Builder.Close()
        
    End If
Next

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


加好友 发短信
等级:童狐 帖子:282 积分:1760 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/15 10:06:00 [只看该作者]

Dim lst As new List(of String)
lst = DataTables("表A").GetValues("表名")
For Each s As String In lst
    If DataTables.Contains(s) = False Then
        Dim Builder As New ADOXBuilder("ckgl") '要指定数据源名称
        Dim tbl As ADOXTable
        Builder.Open()
        tbl = Builder.NewTable(s) '创建表
        For Each dr As DataRow In DataTables("表A").Select("表名 = '" & s & "'")
            With tbl
                Select Case dr("类型")
                    Case "String"
                        .AddColumn(dr("字段名") ,ADOXType.String ,dr("长度"))
                    Case "Integer"
                        .AddColumn(dr("字段名") ,ADOXType.Integer)
                    Case "double"
                        .AddColumn(dr("字段名") ,ADOXType.Double)
                    Case "datetime"
                        .AddColumn(dr("字段名") ,ADOXType.DateTime)
                    Case "text"
                        .AddColumn(dr("字段名") ,ADOXType.Text ,dr("长度"))
                End Select
            End With
        Next
        Builder.AddTable(tbl, True, True) '增加表
        Builder.Close()
    Else
        MessageBox.show("表中无未创建表的数据,请添加需要创建表的数据","提示")
    End If
Next
为什么已经根据表中数据创建了表,在次执行时会提示错误,我的判断语句是那个地方出错了,请指导下


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


加好友 发短信
等级:超级版主 帖子:23372 积分:119198 威望:0 精华:7 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/15 10:36:00 [只看该作者]

这种是直接在后台建表的,前台无法看见,需要手工添加到外部表管理才可以。

如果重复创建,肯定就重名出错的
[此贴子已经被作者于2018/9/15 11:17:51编辑过]

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


加好友 发短信
等级:童狐 帖子:282 积分:1760 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/9/15 11:16:00 [只看该作者]

在菜单栏创建了一个按钮,代码为
'列出外部数据源nwnd中的所有表名
Dim lst As List(Of String)
lst = Connections("ckgl").GetTableNames
'批量加载数据源中的表
For Each s As String In lst
    If DataTables.Contains(s) = False Then
        DataTables.Load(s)
    End If
Next
请问下上述代码是否有问题,如没有问题为什么单击该按钮后没有反映

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


加好友 发短信
等级:超级版主 帖子:23372 积分:119198 威望:0 精华:7 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/9/15 11:22:00 [只看该作者]

必须把表加入外部表管理中,才能使用DataTables.Load


 回到顶部
总数 206 上一页 1 2 3 4 5 6 7 8 9 10 下一页 ..21