Foxtable(狐表)用户栏目专家坐堂 → [求助]新增加行未使用状态


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

主题:[求助]新增加行未使用状态

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/20 17:08:00 [显示全部帖子]

哦 老师 是怎么合成 

CS-160120-001
  


前缀& “-” & 日期 & “-” key1



图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160120170714.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/20 17:22:00 [显示全部帖子]

老师 不是这个意思 ,是根据查到的结果合成的

Dim dr As DataRow = e.DataRow
Dim pf As String = "CS" '设置入库单编号前缀
Dim Key1,key2 As Integer
Dim nm As String = e.DataTable.name
cmd1.commandText = "Select Count(*) F rom {编号回收表}  Where [前缀] = '" & pf & "' And Tablename= '" & nm & "' and 已用标识 = 0"
If cmd1.ExecuteScalar = 0 Then '如果编号表不存在前缀的行,那么增加一行
    e.DataRow("第一列") = Functions.Execute("getnumber","表B","第一列","2")
Else
    cmd1.CommandText = "Select Min(顺序编号) F r om {编号回收表} Where Tablename= '" & nm & "' and 前缀 = '" & pf & "' and 已用标识 = 0 Or 已用标识 Is Null"
    key1 = cmd1.ExecuteScalar()
    cmd1.commandText = "Update {编号回收表} S et [已用标识] = 1 Where [顺序编号] = " & Key1 & " And [前缀] = '" & pf & "' And Tablename= '" & nm & "'"
    cmd1.ExecuteNonQuery()
    cmd1.CommandText = "DELETE F R OM {编号回收表} Where Tablename= '" & nm & "' and 前缀 = '" & pf & "' and 顺序编号 = " & key1 & "And 已用标识 = 1"
    cmd1.ExecuteNonQuery()
    dr("第一列")=key1'这块合成是通过查到的结果合成
End If

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/20 17:46:00 [显示全部帖子]

key1 老师对应的是 行数  还是什么东东?  感觉就是 这个顺序编号


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/20 17:47:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20160120170714.png
图片点击可在新窗口打开查看

那对应的这个表的其他行怎么一并获取呢 


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 15:43:00 [显示全部帖子]

红袍老师,

例如是昨天的单据 CS-160120-001今天删除了,那么应该是永久删除了,因为今天是160121了,这块的时间怎么比较,时间段?

DataRowDeleting


Dim dt1,dt2 As Date

Dim cmd As New SQLCommand

cmd.C

cmd.CommandText = "Select GetDate()"

dt1 = cmd.ExecuteScalar()





Dim dr As DataRow = e.DataRow

If dr.IsNull("第一列")=False Then

    Dim str As String() = dr("第一列").Split("-")

    dt2=CDate("20" & str(1).SubString(0,2) & "-" & str(1).SubString(2,2) & "-" & str(1).SubString(4,2))

    If dt2=dt1 Then,这里的比较日期问题怎么写?

        Tables("编号回收表").AddNew()

        Tables("编号回收表").Current("Tablename")=e.DataTable.name

        Tables("编号回收表").Current("前缀")=str(0)

        Tables("编号回收表").Current("日期")=Format(dt2,"G")

        Tables("编号回收表").Current("顺序编号")=str(2)

        Tables("编号回收表").DataTable.Save

    End If

End If


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 15:54:00 [显示全部帖子]

好了 已经达到预计效果了 红袍老师能否给看看代码 是否合理 5楼说了好多  不知我做的是否 还有纰漏
[此贴子已经被作者于2016/1/21 15:54:09编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 15:59:00 [显示全部帖子]

哦 那么 网络上的编号 QQcilien 也是这么做吗


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 16:08:00 [显示全部帖子]

5楼 有说到重号的问题,

另外说明下,如果只是序号递增,几乎没有重号的概率,重号现象主要出现在实际删单后补单的极端情况下。
极端情况的说明,特点是几乎在同一时间有大量新增,保存,删除等各种无序操作时的情况,且客户机及服务器响应不佳时,这种情况多出现在多用户,高并发环境中。(其实多用户,高并发环境不只是单一软件能解决的事)。


那么我在增加一个编号列,不允许重号,重号不能保存,是不是就解决了这个问题呢 

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 16:47:00 [显示全部帖子]

唯一约束  标注一下

3Unique约束

    唯一约束确保表中的一列数据没有相同的值。与主键约束类似,唯一约束也强制唯一性,但唯一约束用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。

   右键单击要设置的列选择索引/键。

图片点击可在新窗口打开查看

   然后单击添加按钮。

图片点击可在新窗口打开查看

   选择需要设置的列,可以是一列也可以是多列的组合。

图片点击可在新窗口打开查看

   关闭并保存设置。



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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20178 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2016/1/21 16:48:00 [显示全部帖子]

红袍老师,
  设为唯一键在加上判断是否重复,就不会出现重复了 是吧?

 回到顶部
总数 33 上一页 1 2 3 4 下一页