Foxtable(狐表)用户栏目专家坐堂 → 没有加载的表继承数据


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

主题:没有加载的表继承数据

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


加好友 发短信
等级:狐精 帖子:3205 积分:21305 威望:0 精华:0 注册:2016/3/28 16:57:00
没有加载的表继承数据  发帖心情 Post By:2018/10/19 14:35:00 [只看该作者]

老师,以前我问过这个问题,但是在我论坛里面没找到,表A逻辑列勾选,表B继承部分列(表B没加载),这样表写表B没继承到数据。

代码如下:

Dim cd As New SQLCommand
Dim dc As  DataTable
cd.C
cd.CommandText = "SELECT * F rom {工程款管理} where 1=2 "
dc = cd.ExecuteReader(True)
If e.DataCol.Name = "登记状态"
    If e.DataRow("登记状态") = True Then
        Dim nma() As String = {"ID","合同编码","所属机构","项目名称","建设单位","合同金额","合同工期","开工日期","竣工日期","计量期数","是否是退扣款","计量金额","申请金额","户名","账号","开户银行","审批状态"} 'A表数据来源列
        Dim nmb() As String = {"ID","合同编码","所属机构","项目名称","建设单位","合同金额","合同工期","开工日期","竣工日期","计量期数","是否是退扣款","计量金额","申请金额","户名","账号","开户银行","审批状态"} 'B表数据接收列
        e.DataRow.save
        'Dim dr As DataRow = DataTables("工程款管理") .AddNew
        Dim dr As DataRow = dc.AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
    Else
        'DataTables("工程款管理").deletefor("ID = '" & e.DataRow("ID") & "'")
        'DataTables("工程款管理").save
       dc.deletefor("ID = '" & e.DataRow("ID") & "'")
       dc.save
    End If
End If


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


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

新增数据基本和后台没有什么关系。原来的用法有什么问题?

If e.DataCol.Name = "登记状态"
    If e.DataRow("登记状态") = True Then
        Dim nma() As String = {"ID","合同编码","所属机构","项目名称","建设单位","合同金额","合同工期","开工日期","竣工日期","计量期数","是否是退扣款","计量金额","申请金额","户名","账号","开户银行","审批状态"} 'A表数据来源列
        Dim nmb() As String = {"ID","合同编码","所属机构","项目名称","建设单位","合同金额","合同工期","开工日期","竣工日期","计量期数","是否是退扣款","计量金额","申请金额","户名","账号","开户银行","审批状态"} 'B表数据接收列

        Dim dr As DataRow = DataTables("工程款管理") .AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
        e.DataRow.save
    Else
        DataTables("工程款管理").deletefor("ID = '" & e.DataRow("ID") & "'")
        DataTables("工程款管理").save
    End If
End If

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


加好友 发短信
等级:狐精 帖子:3205 积分:21305 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/10/19 15:07:00 [只看该作者]

原来用法没问题,只是要现在加载表才能新增啊,现在想一个表都不加载,直接写到数据库。


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


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

1楼代码下面这句放到代码最后

dc.save

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


加好友 发短信
等级:狐精 帖子:3205 积分:21305 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/10/19 16:32:00 [只看该作者]

        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = e.DataRow(nma(i))
        Next
       dc.save
    Else
       dc.deletefor("ID = '" & e.DataRow("ID") & "'")
       dc.save
    End If
End If
这样新增没问题了,但删除后放保存放哪儿都不行,不成功,代码都执行了,但就是没删除。
[此贴子已经被作者于2018/10/19 16:31:43编辑过]

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


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

Else
       dc.sqldeletefor("ID = '" & e.DataRow("ID") & "'")
    End If

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


加好友 发短信
等级:狐精 帖子:3205 积分:21305 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/10/19 16:45:00 [只看该作者]

查询表或临时表不能用SQlDeleteFor哒。


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


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

查询表不可以,下面这种绝对可以,我测试没有问题

dc = cd.ExecuteReader(True)
dc.sqldeletefor("ID = '" & e.DataRow("ID") & "'")

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


加好友 发短信
等级:狐精 帖子:3205 积分:21305 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/10/19 17:07:00 [只看该作者]

可以了,在测试的时候吧True删除了、

谢谢老师。


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


加好友 发短信
等级:狐精 帖子:3205 积分:21305 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2018/10/19 17:15:00 [只看该作者]

一个事件同时又引用了多个外部表,只能这样每次分开写哇。

Dim cmd As New SQLCommand
Dim dt As  DataTable
cmd.C
cmd.CommandText = "SELECT * F rom {合同管理} where
dt = cmd.ExecuteReader()

 

Dim cd As New SQLCommand
Dim dc As  DataTable
cd.C
cd.CommandText = "SELECT * F rom {工程款管理} where 1=2 "
dc = cd.ExecuteReader(True)

 

 


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