Foxtable(狐表)用户栏目专家坐堂 → [求助]求一个代码思路


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

主题:[求助]求一个代码思路

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


加好友 发短信
等级:幼狐 帖子:91 积分:640 威望:0 精华:0 注册:2023/6/9 8:50:00
[求助]求一个代码思路  发帖心情 Post By:2023/6/26 9:16:00 [只看该作者]

如题   现在我想通过代码向外部数据源(sqlserver)添加一张表  随后按照单元格去添加数据  有办法可以实现吗?还是说必须先有行  才能改列?
因为我昨天问道添加的表如果没有引用就需要通过sql来操作   那是否我必须按照sql的逻辑来添加数据呢?
我自己写了代码   但是报错   故而求指导


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107836 积分:548531 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/26 9:25:00 [只看该作者]

看SQLcommand里ExecuteReader的示例五

示例五

ExecuteReader有一个可选参数,如果设置为True,那么生成的DataTable不仅可以增加、删除和修改数据,还可以保存。
新建一个文件,在命令窗口测试下面的代码,会在A的第一行的第一列写入123,并删除第二行:

Dim cmd As new SQLCommand
cmd
.ConnectionName = "数据源名称"
Dim
 dt As DataTable
cmd
.CommandText = "Select * From {表A}"
dt
 = cmd.ExecuteReader(True'记得将参数设置为True
dt
.DataRows(0)("第一列") = 123
dt
.DataRows(1).Delete()
dt
.Save()
DataTables
("表A").Load() '重新加载表A,看看值是否已经变化


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


加好友 发短信
等级:幼狐 帖子:91 积分:640 威望:0 精华:0 注册:2023/6/9 8:50:00
  发帖心情 Post By:2023/6/26 10:03:00 [只看该作者]

好的  感谢

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


加好友 发短信
等级:幼狐 帖子:91 积分:640 威望:0 精华:0 注册:2023/6/9 8:50:00
  发帖心情 Post By:2023/6/26 10:41:00 [只看该作者]

麻烦请教一下   我代码写的有问题   帮忙看一下思路正确嘛   感谢
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107836 积分:548531 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/26 10:59:00 [只看该作者]

有什么问题,提示什么错误?

新增的表默认是空的,要使用addnew新增行

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


加好友 发短信
等级:幼狐 帖子:91 积分:640 威望:0 精华:0 注册:2023/6/9 8:50:00
  发帖心情 Post By:2023/6/26 11:22:00 [只看该作者]

报错如图所示   请问addnew()应该写在哪里?
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107836 积分:548531 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/26 11:35:00 [只看该作者]

麻烦贴代码文字,不要贴图片

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


加好友 发短信
等级:幼狐 帖子:91 积分:640 威望:0 精华:0 注册:2023/6/9 8:50:00
  发帖心情 Post By:2023/6/27 8:22:00 [只看该作者]

好的  我刚才粘了代码   但是点击发表的时候提示我错误  请重试   是服务器的问题吗  还是哪里的问题

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107836 积分:548531 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/27 8:30:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:91 积分:640 威望:0 精华:0 注册:2023/6/9 8:50:00
  发帖心情 Post By:2023/6/27 8:31:00 [只看该作者]

好的   以下是代码片段
Dim Builder As New ADOXBuilder("sqlserver") '要指定数据源名称
Dim tb2 As ADOXTable
        tb2 = Builder.NewTable(bm & "_利润表") '创建表
        For i As Integer = 1 To 15
            With tb2
               .AddColumn("第" & i & "列" ,ADOXType.String, 50)
            End With
        Next

        Builder.AddTable(tb2) '增加表

        Tables(bm & "_利润表").AddNew(30)

        cmd.CommandText = "Select * Fro m {" & bm & "_利润表}"
        lrtb = cmd.ExecuteReader(True) '记得将参数设置为True
        
        Output.show(1111)
        lrtb.DataRows(0)("第1列") = "利 润 表-考核利润(预创业)"
        Output.show(22)
        lrtb.DataRows(1)(0) = "公司名称:" & bm

 回到顶部
总数 13 1 2 下一页