Foxtable(狐表)用户栏目专家坐堂 → 关于网络编号的问题


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

主题:关于网络编号的问题

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 7:54:00 [显示全部帖子]

郁闷的不得了,我测试帮助里的例子一点问题都没有,但是我根据例子改的,一摸一样的,保存当前行的时候,上一行的编号会减少一位.当前行跟着加一位.


老大.这个是什么原因啊?

几个例子上一行是008      新增一行保存后   上一行变成了007  当前行变成了008


而且你的例子会自动升序,我的不会,但是看来看去我升了序也不行.你的升序也取消不了,什么原因啊.  

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 8:01:00 [显示全部帖子]

我要注意什么地方,弄了几个小时了.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 8:05:00 [显示全部帖子]

就是没有呀,我测试了,只有中间改了日期后,才会有一个编号脱掉,但是这个不影响的呀.郁闷死了.

老大我的操作是这样,刚开始打开系统新增保存没有问题,但是双击打开窗口,新增,保存就会这样,按钮保存的代码是系统命令.
然后关掉窗口,再新增保存也会这样.

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 8:17:00 [显示全部帖子]

老大,跟编号里面有空行搭界吗?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 8:26:00 [显示全部帖子]

老大我的代码是这样的.

新增:

Dim dr As DataRow = DataTables("单号定义").Find( "表名 ='" & CurrentTable.Name & "'")
If dr IsNot Nothing Then
    Static Index As Integer = 99999
    e.DataRow("系统单号") = dr("单号定义") & Format(Date.Today(),"yyyyMMdd") & Index
    Index = Index - 1
End If

保存:

Dim dr As DataRow = e.DataRow
Dim pf As String
If dr.IsNull("开单日期") Then '如果没有输入开单日期
    e.Cancel = True '取消保存此行
    MessageBox.Show("必须输入开单日期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
Else
    pf = Format(dr("开单日期"),"yyyyMMdd") '否则获得系统单号的前缀,两位年,两位月
End If
Dim cmd1 As New SQLCommand
Dim cmd2 As New SQLCommand
Dim Key As Integer
cmd1.C
cmd2.C
cmd1.commandText = "Select Count(*) From [编号] Where [前缀] = '" & pf & "'"
If cmd1.ExecuteScalar = 0 Then '如果系统单号表不存在前缀的行,那么增加一行
    cmd1.commandtext = "Insert Into 编号 (前缀, 顺序号) Values('" & pf & "',1)"
    cmd1.ExecuteNonQuery
End If
cmd1.commandText = "Select [顺序号] From [编号] Where [前缀] = '" & pf & "'"
Do
    Key = cmd1.ExecuteScalar() '从后台获得顺序号
    cmd2.commandText = "Update [编号] Set [顺序号] = " & (Key + 1) & " Where [顺序号] = " & Key & " And [前缀] = '" & pf & "'"
    If cmd2.ExecuteNonQuery() > 0 Then '更新顺序号
        Exit Do '更新成功则退出循环
    End If
Loop

Dim dr1 As DataRow = DataTables("单号定义").Find( "表名 ='" & CurrentTable.Name & "'")
If dr1 IsNot Nothing Then
    e.DataRow("系统单号") = dr1("单号定义")  & pf & Format(Key,"0000")
End If

我把如果是新增就返回的去掉了,不去掉,我不能按时间修改编号.

你帮我看看,这个不解决好,我做不了其它的,纠结!

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 8:27:00 [显示全部帖子]

几乎是一摸一样,只是加了个头而已!

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 8:37:00 [显示全部帖子]

If dr.RowState <> DataRowState.Added Then '如果不是新增行
    Return '那么返回


    老大,正是这一行我去掉了,但是我有个问题,昨日我问过你的就是时间控件有给权限,是因为可能会修改时间的,如果我保留了这一个,我就改不了了,如果加上这一行的话,万一修改时间要根据新时间再接上去编号,怎么弄?另外一点,你的例子,我去掉了也没有问题的?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 8:39:00 [显示全部帖子]

加上是可以了,就是万一修改时间,我应该怎么弄?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 8:57:00 [显示全部帖子]

怎么修改代码,想不出来!

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/11/3 9:19:00 [显示全部帖子]

谢谢,非常好.

 回到顶部
总数 26 1 2 3 下一页