Foxtable(狐表)用户栏目专家坐堂 → 修改数据的代码,这样用会不会出问题?


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

主题:修改数据的代码,这样用会不会出问题?

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
修改数据的代码,这样用会不会出问题?  发帖心情 Post By:2016/8/8 19:02:00 [显示全部帖子]

入库明细表中,DataColChanged 中写入


If e.DataCol.Name = "定额编码" Then
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    cmd.C
    Dim dr As DataRow = e.DataRow
    cmd.CommandText = "SELE CT * Fro m {材料} Where [定额编码] = '" & dr("定额编码") & "'"
    dt = cmd.ExecuteReader()
    If dt.DataRows.Count > 0 Then
        dr("入库单价") = dt.DataRows(0)("成本价")
    Else
        dr("入库单价") = Nothing
    End If

这个代码,这样写是为了输入时,自动从:材料表,提取原料已经输入了的:成本价,避免重复录入同样的价格。
但是,如果我为了测试,或为了批量修改一些数据,我执行了:入库明细表,定额编码,列的,重置。这样是不是这个代码还是要执行,把我已经录入的:入库单价,改成:材料表中的成本价。这样就错了。
有没有什么办法调整一下这个代码。让我既能输入时,利用材料表的已录入价格,又避免我重置 :入库明细-定额编码列时,不改数据 ?

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/8/8 19:08:00 [显示全部帖子]

如果 加一个,审核,的判断是不是就行了?如下:
If e.DataCol.Name = "定额编码" Then
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    cmd.C
    Dim dr As DataRow = e.DataRow
    If dr.IsNull("审核")=True Then
        cmd.CommandText = "SELE CT * Fro m {材料} Where [定额编码] = '" & dr("定额编码") & "'"
        dt = cmd.ExecuteReader()
        If dt.DataRows.Count > 0 Then
            dr("入库单价") = dt.DataRows(0)("成本价")
        Else
            dr("入库单价") = Nothing
        End If
    End If
End If

我现在好怕重置列,我感觉好像之前重置了,它就是自动改我的数据了。请问老师,修改数据 的代码,应该注意哪些方面?
[此贴子已经被作者于2016/8/8 19:08:19编辑过]

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


加好友 发短信
等级:四尾狐 帖子:843 积分:5982 威望:0 精华:0 注册:2013/6/29 9:36:00
  发帖心情 Post By:2016/8/8 21:21:00 [显示全部帖子]

嗯。懂了。谢谢老师

 回到顶部