Foxtable(狐表)用户栏目专家坐堂 → [求助]将数据删除时添加到历史库的问题


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

主题:[求助]将数据删除时添加到历史库的问题

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
[求助]将数据删除时添加到历史库的问题  发帖心情 Post By:2015/4/17 12:26:00 [只看该作者]

我菜单里有个删除按钮,点击删除的时候,会提示是否删除,如果点击是,那么,判断此行的“备注”列是否为空,如果是,则提示,“请在备注列输入删除原因”,如果非空,则将此列数据添加到另一个表“历史库”里,然后删除数据,我的代码如下,但是后期的不会写了,老是提示DataRow不属于按钮属性啥子的,求大神指点。


If _username = "01人力资源部" Then
    Dim Result As DialogResult
    Result = Messagebox.Show("有些东西一旦失去了便再也无法挽回 , 三思而后行 ! ","温馨提示", MessageBoxButtons.YesNo, MessageBoxIcon.warning)
    If Result = DialogResult.Yes Then
        If CurrentTable.DataRow.IsNull("备注") Then
        Messagebox.Show("请在备注列输入删除原因","提示")
        else
                    Dim dr As DataRow = DataTables("历史库").AddNew
                    For Each dc As DataCol In DataTables("历史库").DataCols
                        dr(dc.Name) = e.DataRow(dc.Name)
                    Next
                    CurrentTable.Current.Delete()
                    MessageBox.Show("已成功删除至历史库!", "提示")



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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/17 13:37:00 [只看该作者]

If _username = "01人力资源部" Then
    Dim Result As DialogResult
    Result = Messagebox.Show("有些东西一旦失去了便再也无法挽回 , 三思而后行 ! ","温馨提示", MessageBoxButtons.YesNo, MessageBoxIcon.warning)
    If Result = DialogResult.Yes Then
        If CurrentTable.Current.IsNull("备注") Then
        Messagebox.Show("请在备注列输入删除原因","提示")
        else
                    Dim dr As DataRow = DataTables("历史库").AddNew
                    For Each dc As DataCol In DataTables("历史库").DataCols
                        dr(dc.Name) =CurrentTable.Current(dc.Name)
                    Next
                    CurrentTable.Current.Delete()
                    MessageBox.Show("已成功删除至历史库!", "提示")

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
还想继续优化  发帖心情 Post By:2015/4/17 14:05:00 [只看该作者]

因为我系统里有多个表,用这种方法的话,必须去表里找对应的每个列名,列明不对应的话还操作不成功。麻烦,我就想直接把数据弄过去,这个代码还可以优化吗??求指点
Dim dr As DataRow = DataTables("历史库").AddNew
                    For Each dc As DataCol In DataTables("历史库").DataCols
                        dr(dc.Name) = e.DataRow(dc.Name)

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/17 14:06:00 [只看该作者]

没看明白你的意思,你的代码本来就是遍历列名 不用手动输入

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
  发帖心情 Post By:2015/4/17 14:06:00 [只看该作者]

以下是引用Bin在2015/4/17 13:37:00的发言:
If _username = "01人力资源部" Then
    Dim Result As DialogResult
    Result = Messagebox.Show("有些东西一旦失去了便再也无法挽回 , 三思而后行 ! ","温馨提示", MessageBoxButtons.YesNo, MessageBoxIcon.warning)
    If Result = DialogResult.Yes Then
        If CurrentTable.Current.IsNull("备注") Then
        Messagebox.Show("请在备注列输入删除原因","提示")
        else
                    Dim dr As DataRow = DataTables("历史库").AddNew
                    For Each dc As DataCol In DataTables("历史库").DataCols
                        dr(dc.Name) =CurrentTable.Current(dc.Name)
                    Next
                    CurrentTable.Current.Delete()
                    MessageBox.Show("已成功删除至历史库!", "提示")



我还想继续优化一下~~

因为我系统里有多个表,用这种方法的话,必须去表里找对应的每个列名,列明不对应的话还操作不成功。麻烦,我就想直接把数据弄过去,这个代码还可以优化吗??求指点
Dim dr As DataRow = DataTables("历史库").AddNew
                    For Each dc As DataCol In DataTables("历史库").DataCols
                        dr(dc.Name) = e.DataRow(dc.Name)


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/17 14:07:00 [只看该作者]

表结构不一样,那肯定不成功. 没有办法优化.  优化最多是判断一下结构不一样就不导入

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
情况说明  发帖心情 Post By:2015/4/17 14:08:00 [只看该作者]

我的意思是我的系统里有很多表,每个表的列明不一样啊,如果我用这种方法的话,那么我历史库里的表的列就得包含多有表里的列,好麻烦的说,能不能就直接干脆的加载到历史库了,不用查找列名

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/4/17 14:08:00 [只看该作者]

不行

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
  发帖心情 Post By:2015/4/17 14:08:00 [只看该作者]

哦哦,好的,谢谢,那我就把所有的列明都弄进去吧~~谢谢

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


加好友 发短信
等级:童狐 帖子:204 积分:2037 威望:0 精华:0 注册:2015/3/6 17:12:00
解决办法  发帖心情 Post By:2015/4/17 14:30:00 [只看该作者]

大神,判断结构不一样就不写入的代码是???可不可以这样,列名一样的写入,列名不一样的直接跳过不写入~

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