以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于主键ID号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121985) |
-- 作者:yancheng -- 发布时间:2018/7/16 23:41:00 -- 关于主键ID号 Dim n1 As Integer = DataTables("材料表").SQLCompute("max(AutoID)")+1 Dim clb As DataRow = DataTables("材料表").AddNew() clb("AutoID") =n1 AutoID是主键,我用上面的代码 增加它的序号时,它不是N1, 如原来排号到:100;我删除 2行,则 autoid = 101 而 N1= 99 这个怎么解决呢?
|
-- 作者:yancheng -- 发布时间:2018/7/16 23:45:00 -- 完整代码是: If Tables("材料表").TopPosition > -1 Then \'如果选定区域包括数据行 Dim dr As Row = Tables("材料选择_table1").Current If dr IsNot Nothing Then If dr.IsNull("CatePathKey") =False And dr.IsNull("工种")=False And dr.IsNull("材料名称")=False And dr.IsNull("单位")=False And dr.IsNull("AutoID")=False Then Dim n1 As Integer = DataTables("材料表").SQLCompute("max(AutoID)")+1 关键像这个:主键:autoid 的值,怎么获取? Dim clb As DataRow = DataTables("材料表").AddNew() clb("AutoID") =n1 clb("CatePathKey") =dr("CatePathKey") clb("工种") =dr("工种") clb("材料名称") = "[复制]" & dr("材料名称") clb("单位") =dr("单位") clb("规格") =dr("规格") clb("顺序") =dr("顺序") clb("材料名称PY") =dr("材料名称PY") clb("参考价") =dr("参考价") clb("零售价") =dr("零售价") clb("批发价") =dr("批发价") clb("底限价") =dr("底限价") clb("品牌") =dr("品牌") clb("创建人") ="超级用户" clb("批注") =dr("批注") clb("条形码") =dr("条形码") clb.save \'复制图片 If MessageBox.show("是否将""" & dr("材料名称") & """的图片复制到新增的行? ","提示!",MessageBoxButtons.YesNo ) = DialogResult.Yes Then Dim strs As List(of DataRow) = DataTables("材料图片表").SQLSelect("mainid = \'" & dr("autoid") & "\'") For Each str As DataRow In strs Dim n As Integer = DataTables("材料图片表").SQLCompute("max(AutoID)")+1 Dim r As Row = Tables("材料表.材料图片表").AddNew() r("MainID") = n1 r("AutoID") = n r("名称") = str("名称") \'写入文件名 r("照片Ext") = str("照片Ext") \'写入文件后缀 r.Save \'必须先保存 Dim fl As String = str("名称") & str("照片Ext") r.DataRow.SQLInsertFile("照片",fl) \'插入文件 r.Save \'必须先保存 Next \' End If End If Else msgbox("要复制的行,材料名称为: """ & dr("材料名称") & """ 的行,,工种/材料名称/单位为空,此行无法导入!") End If Else msgbox("""材料表""的当前行为空,不无法复制新增!") End If End If 主表的行增加了。 而 材料图片表,增加的autoid就对应;
[此贴子已经被作者于2018/7/16 23:55:00编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/7/17 9:01:00 -- 如果你的主键列是自动递增的话,请先保存,然后再直接读取此行的主键列,即可。 |