以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  判断重复  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52619)

--  作者:shanmao
--  发布时间:2014/6/19 11:23:00
--  判断重复
添加数据时,判断重复值用什么方法?
--  作者:Bin
--  发布时间:2014/6/19 11:23:00
--  
http://www.foxtable.com/help/topics/2481.htm
--  作者:shanmao
--  发布时间:2014/6/19 12:44:00
--  
在窗口的添加按钮里。有类似例子吗?
--  作者:shanmao
--  发布时间:2014/6/19 12:46:00
--  
看这段代码,重复值判断是可以了,但是添加数据却不行了。

Dim Result As DialogResult
Result = MessageBox.Show("您确定添加吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    
    If e.Form.Controls("称谓").text = "" Or e.Form.Controls("性别").text = "" Then
        Messagebox.show(" 添加数据时不能存在空值!")
    ElseIf e.Form.controls("称谓").text <>"" Then
        Dim dt As DataRow = DataTables("称谓_Table1").find("称谓 = \'"& e.Form.Controls("称谓").text & "\'")
        If e.Form.Controls("称谓").text = dt("称谓") And e.Form.Controls("性别").text = dt("性别") And dt("DEL") = 1 Then
            messagebox.show("该值已经存在,请不要重复添加!")
        End If
    Else
        Dim nr As Row = Tables("称谓_Table1").AddNew
        If e.Form.Controls("称谓").text <> "" Then
            nr("称谓") = CStr(e.Form.Controls("称谓").text)
        End If
        If e.Form.Controls("性别").text <> "" Then
            nr("性别") = CStr(e.Form.Controls("性别").text)
        End If
        nr.Save
        MessageBox.Show("数据添加成功!")
        DataTables("称谓表").Load
    End If
End If

--  作者:程兴刚
--  发布时间:2014/6/19 13:40:00
--  
If e.Form.Controls("称谓").text = "" Or e.Form.Controls("性别").text = "" Then
    Messagebox.show(" 添加数据时不能存在空值!")
ElseIf e.Form.controls("称谓").text <>"" Then
    Dim dt As DataRow = DataTables("称谓_Table1").find("称谓 = \'"& e.Form.Controls("称谓").text & "\'")
    If dt IsNot Nothing
        If e.Form.Controls("称谓").text = dt("称谓") And e.Form.Controls("性别").text = dt("性别") And dt("DEL") = 1 Then
            messagebox.show("该值已经存在,请不要重复添加!")
            Return
        End If
        Return
    End If
    Dim Result As DialogResult
    Result = MessageBox.Show("您确定添加吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If Result = DialogResult.Yes Then
        Dim nr As Row = Tables("称谓_Table1").AddNew
        If e.Form.Controls("称谓").text <> "" Then
            nr("称谓") = CStr(e.Form.Controls("称谓").text)
        End If
        If e.Form.Controls("性别").text <> "" Then
            nr("性别") = CStr(e.Form.Controls("性别").text)
        End If
        nr.Save
        MessageBox.Show("数据添加成功!")
        DataTables("称谓表").Load
    End If
End If
[此贴子已经被作者于2014-6-19 13:47:09编辑过]

--  作者:有点甜
--  发布时间:2014/6/19 14:06:00
--  
 你说的添加数据不行,是指什么,报错,还是不保存?
[此贴子已经被作者于2014-6-19 14:05:51编辑过]