当前位置: 代码迷 >> VB Dotnet >> 为何 添加用户 老提示已存在
  详细解决方案

为何 添加用户 老提示已存在

热度:1201   发布时间:2016-04-25 02:25:37.0
为什么 添加用户 老提示已存在?
        
添加用户 老提示已存在

Dim datable As New DataTable
        m_dal.ConnectionOpen()
        Dim sql As String
        sql = "select * from 人员信息 where 员工号='" & Me.TextBox1.Text & "'"
        m_dal.DataSetFill(sql, "员工号")
        datable = m_dal.ds.Tables("员工号")
        If datable.Rows.Count = 0 Then
            ErrorProvider1.Clear()
            sql = "insert into 人员信息(员工号,姓名,英文,密码,所在层,岗位,权限,登陆信息,登陆ip)"
            sql += " values ('" & Me.TextBox1.Text & "','" & Me.TextBox2.Text & "','" & Me.TextBox3.Text & "','" & MyEncrypt(Me.TextBox4.Text) & "','" & Me.TextBox5.Text & "','" & Me.TextBox6.Text & "')"
            m_dal.InsertDelUpdateRecord(sql)
            m_dal.ConnectionClose()
            Me.Label8.Text = "添加用户成功"
            Me.TextBox1.Text = ""
            Me.TextBox2.Text = ""
            Me.TextBox3.Text = ""
            Me.TextBox4.Text = ""
            Me.TextBox5.Text = ""
            Me.TextBox6.Text = ""
            Me.TextBox7.Text = ""
        Else
            ErrorProvider1.SetError(TextBox1, "员工号重复,请重新输入!")
            Me.TextBox1.Text = ""
            Me.TextBox1.Focus()
        End If

添加用户时判断表中是否存在该员工号,有提示存在,重新输入。否则直接添加该用户。
但不知为啥老提示已存在,表中只有一条用户记录呀??、

------解决方案--------------------
  
 If datable.Rows.Count > 0 Then
            ErrorProvider1.SetError(TextBox1, "员工号重复,请重新输入!")
           Me.TextBox1.Text = ""
            Me.TextBox1.Focus()
         Else
       
             ErrorProvider1.Clear()
            sql = "insert into 人员信息(员工号,姓名,英文,密码,所在层,岗位,权限,登陆信息,登陆ip)"
            sql += " values ('" & Me.TextBox1.Text & "','" & Me.TextBox2.Text & "','" & Me.TextBox3.Text & "','" & MyEncrypt(Me.TextBox4.Text) & "','" & Me.TextBox5.Text & "','" & Me.TextBox6.Text & "')"
            m_dal.InsertDelUpdateRecord(sql)
            m_dal.ConnectionClose()
            Me.Label8.Text = "添加用户成功"
            Me.TextBox1.Text = ""
            Me.TextBox2.Text = ""
            Me.TextBox3.Text = ""
            Me.TextBox4.Text = ""
            Me.TextBox5.Text = ""
            Me.TextBox6.Text = ""
            Me.TextBox7.Text = ""
 If


------解决方案--------------------
引用:
Quote: 引用:

你在datable.Rows.Count 设个断点,看记录数为多少?是不是TextBox1.Text输入的,在数据库中已存在,


断点试了,datable.Rows.Count =1 ,老是提示请重新输入???,

你用:If datable Is Nothing Then 插入数据 Else 已存在 End If.试试看。


------解决方案--------------------
  相关解决方案