Foxtable(狐表)用户栏目专家坐堂 → 自动编号突然失效


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

主题:自动编号突然失效

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


加好友 发短信
等级:婴狐 帖子:43 积分:419 威望:0 精华:0 注册:2018/11/1 10:49:00
自动编号突然失效  发帖心情 Post By:2019/1/31 12:45:00 [显示全部帖子]

在datarowadded中的代码

Dim cmd As New SQLCommand
Dim dt As Date
cmd.C
cmd.CommandText = "Select GetDate()" '从远程数据库获取日期信息
dt = cmd.ExecuteScalar()
e.DataRow("日期") = dt
Dim d As Date = e.DataRow("日期")
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim Days As Integer = Date.DaysInMonth(y,m)
Dim fd As Date = New Date(y,m,1) '获得该月的第一天
Dim ld As Date = New Date(y,m,Days) '获得该月的最后一天
Dim bh As String ="HP"& Format(d,"yyMM") '生成货品编号的前6位,2位字符,2位年,2位月.
e.DataRow.save '***必须在sqlcompute前先保存,才能获得当前行的真实的_identify值***
If e.DataRow("货品编号").StartsWith(bh) = False '如果货品编号的前6位不符
    Dim max As String
    Dim idx As Integer  
    max = e.DataTable.sqlCompute("Max(货品编号)","[日期] >= '" & fd & "' And [日期] <= '" & ld & "'And [_Identify] <> " & e.DataRow("_Identify")) '取得该月的最大货品编号
    If max > "" Then '如果存在最大货品编号
        idx = CInt(max.Substring(6,4)) + 1 '获得最大货品编号的后四位顺序号,并加1
    Else
        idx = 1 '否则顺序号等于1
    End If
    e.DataRow("货品编号") = bh & Format(idx,"0000")
    e.DataRow.save   
End If

发布的程序,至昨天之前使用还是正常的,能够自动增加编号,但今天就始终无法自动增加。同样的功能另外的表自动编码又是正常的。不知道是不是SQL SERVER那边的问题。

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


加好友 发短信
等级:婴狐 帖子:43 积分:419 威望:0 精华:0 注册:2018/11/1 10:49:00
  发帖心情 Post By:2019/1/31 12:50:00 [显示全部帖子]

我在源程序上直接运行也不行,而且我用了很多之前备份的版本,都是这个问题

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


加好友 发短信
等级:婴狐 帖子:43 积分:419 威望:0 精华:0 注册:2018/11/1 10:49:00
  发帖心情 Post By:2019/1/31 13:03:00 [显示全部帖子]

感觉的现象就像是我新增加的行好像没有保存到后台数据库中,但我从菜单“外部数据表”预览,是能看到新增加项的,而且关闭程序后打开,重新加载,刚刚增加的重复项也是正常加载进来的,所以很奇怪

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


加好友 发短信
等级:婴狐 帖子:43 积分:419 威望:0 精华:0 注册:2018/11/1 10:49:00
  发帖心情 Post By:2019/1/31 13:11:00 [显示全部帖子]

难道是因为今天是1月31号的缘故?

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


加好友 发短信
等级:婴狐 帖子:43 积分:419 威望:0 精华:0 注册:2018/11/1 10:49:00
  发帖心情 Post By:2019/1/31 13:25:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:qq拼音截图未命名20190131.jpg
图片点击可在新窗口打开查看

还真是因为日期的原因,我把服务器时间改成2月1日,自动编号又正常了,百思不得其解图片点击可在新窗口打开查看


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


加好友 发短信
等级:婴狐 帖子:43 积分:419 威望:0 精华:0 注册:2018/11/1 10:49:00
  发帖心情 Post By:2019/2/1 18:07:00 [显示全部帖子]

谢谢,甜版,代码确实解决了这个问题,但我还是没明白其中的原因,而且原来同样的代码在另一个表上是可以正常工作的,仅这一个表会出现这个情况。不知甜版能否帮我分析下大概的原因?

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


加好友 发短信
等级:婴狐 帖子:43 积分:419 威望:0 精华:0 注册:2018/11/1 10:49:00
  发帖心情 Post By:2019/2/2 10:16:00 [显示全部帖子]

谢谢蓝版,听了您的解释我就理解了!图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:43 积分:419 威望:0 精华:0 注册:2018/11/1 10:49:00
  发帖心情 Post By:2019/2/2 10:26:00 [显示全部帖子]

刚才根据您的思路查了下,确实发现是这个问题,这个出问题的表的日期列属性中日期时间格式我选了“datetime”,其他表选的是“date”

 回到顶部