Foxtable(狐表)用户栏目专家坐堂 → SQL外部数据源实现自动编码


  共有5013人关注过本帖平板打印复制链接

主题:SQL外部数据源实现自动编码

美女呀,离线,留言给我吧!
whuan1027
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:88 积分:967 威望:0 精华:0 注册:2011/12/2 16:00:00
SQL外部数据源实现自动编码  发帖心情 Post By:2013/7/15 16:46:00 [只看该作者]

      使用SQL外部数据源,想实现物料编码的自动生成,编码没有特殊要求,是无意编码,只要按照顺序生成即可,不能使用表达式列,因为表达式列生成的编码不能保存在数据库中,在表的BeforeSaveDataRow中写了如下的代码:

     

If e.DataRow("物料编码") = "" Then
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    cmd.C   '设置数据源名称
    cmd.CommandText = "select * from {selfmade} Where [partsnum] is not null"    '将partsnum不为空的列统计出进行编码
    dt = cmd.ExecuteReader()
    Dim max As String
    Dim idx As Integer
    max = dt.Compute("Max(物料编码)") '取得最大编号
    If max > "" Then '如果存在最大编号
        idx = CInt(max.Substring(6)) + 1 '获得最大编号,并加1
    Else
        idx = 1 '否则顺序号等于1
    End If
   
    e.DataRow("物料编码") = Format(idx,"000000")
End If

运行后“物料编码”没有变化,还是空值,而且报错:“调用的目标发生了异常。”请问代码哪里有问题呢?另外,有什么简单一点的方法能实现表达式列的编号直接复制到数据列就好了。


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