当前位置:编程学习 > C#/ASP.NET >>

怎么不让添加重复记录啊。。。

        Dim mysql As String
        Dim mytablel As New DataTable
        mysql = "INSERT into a(b,c,d,e) values('" & Trim(TextBox1.Text) & "'," & _
                                                                        "'" & Trim(TextBox2.Text) & "'," & _
                                                                        "'" & Trim(TextBox4.Text) & "'," & _
                                                                        "'" & Trim(TextBox3.Text) & "')"
        mytablel = dbdatatable.Exesql(mysql)

        MsgBox("添加成功") vb.net --------------------编程问答-------------------- 添加之前先检查一下,是否存在这样的记录。重复总得有条件,比如不让名称重复,那在添加之前就判断这个名称是否存在。 --------------------编程问答-------------------- 不让添加是添加动作之前查询数据库中是否存在这样一条数据
--------------------编程问答--------------------
引用 1 楼 wtnu200 的回复:
添加之前先检查一下,是否存在这样的记录。重复总得有条件,比如不让名称重复,那在添加之前就判断这个名称是否存在。

具体应该怎么写啊。新手。。。数据库是SQL --------------------编程问答-------------------- 先写一个过程,查询数数据表里有没有同样的 记录,有就拒绝添加,没有就可以添加

--------------------编程问答--------------------
引用 4 楼 gba8jing 的回复:
先写一个过程,查询数数据表里有没有同样的 记录,有就拒绝添加,没有就可以添加
应该怎么写啊。主键是ID,谢谢。。 --------------------编程问答--------------------
引用 5 楼 dgguosong 的回复:
Quote: 引用 4 楼 gba8jing 的回复:

先写一个过程,查询数数据表里有没有同样的 记录,有就拒绝添加,没有就可以添加
应该怎么写啊。主键是ID,谢谢。。


如果楼主连查询数据表这么基础的东西都没能力写我也爱莫能助,真不行就先打好基础吧。 --------------------编程问答-------------------- 存盘前先select 检查是否有此记录,然后在添加 --------------------编程问答-------------------- 我也是新手,这个应该能帮到你

'查询的东西是否存在
    Function Chaxun(ByVal name_add As String)
        Dim myDate As MySqlDataReader
        Dim sql As String = "select * from resource_version where resource_name='" & name_add & "'"
        'MsgBox(sql)
        Dim cmd As New MySqlCommand(sql, mycon)
        mycon.open()
        myDate = cmd.ExecuteReader()
        Try
            Do While myDate.Read()
                mycon.Close()
                Return True
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        mycon.Close()
        Return False
    End Function
--------------------编程问答-------------------- 对数据片理后再添加啊。 --------------------编程问答-------------------- 用VB6可用以下方法:
通用模块最前面加以下定义:
Private cnn As ADODB.Connection   '--连接数据库的Connection对象
Private rs As ADODB.Recordset     '--保存结果集的Recordset对象
Public Conn As String   '--连接字符串

第一,在通用类模块中加入以下查询数的函数
Public Function QueryExt(ByVal TmpSQLstmt As String) As ADODB.Recordset '--执行数据库查询语句
    Dim rst As New ADODB.Recordset
   set cnn = New ADODB.Connection
       With cnn
        .Provider = "sqloledb"
        .ConnectionString = Conn
        .ConnectionTimeout = 10
        .Open
       End With    
    Set rst.ActiveConnection = cnn    '--设置rst的ActiveConnection属性,指定与其关联的数据库连接
    rst.CursorType = adOpenKeyset
    rst.LockType = adLockOptimistic   '--设置锁定类型
    rst.Open TmpSQLstmt    '--打开记录集
    Set QueryExt = rst    '--返回记录集
End Function

第二:在你要添加的窗口中,在添加代码前加入以下语句即可,作用就是防止出现重复现象。
 Set rs = QueryExt("SELECT * FROM [你的表名称] ORDER by ID") ‘ID是表中唯一并不重复的字段
        If rs.RecordCount > 0 Then
            rs.MoveLast
            txt(0) = Format(Val(rs.Fields("ID")) + 1, "000")
        Else
            txt(0) = "001"
        End If
        rs.Close

希望对你有帮助! --------------------编程问答--------------------
添加前先判断,可以放在一个存储过程中... --------------------编程问答-------------------- 先判断或者忽略错误 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 追加之前按照一个条件进到数据库进行查询是否有该记录,如果有的话就给个提示退出插入方法,反之则插入 --------------------编程问答-------------------- 如果是批量导入时,不多多列主键
效率是可怕的低的
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,