2013-07-04 46 views
0

我需要你的帮助,伙计们。我有一个错误。请参阅我的代码如下:KEY不能为空 - VB.net错误

 Imports MySql.Data.MySqlClient 
Public Class frmlogin 
Dim conn As MySqlConnection = New MySqlConnection 
Dim serverstring As String = "Server=localhost;User Id=root;Password=root;Database=dasystem" 
Dim login As Boolean 
Dim ds As DataSet 
Dim cusds As DataSet 
Dim da As MySqlDataAdapter 
Dim dt As DataTable 
Dim ctrshowlogin, ctrshowsearch As Integer 


Private Sub btnlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnlogin.Click 
    Dim rowctr As Integer 
    Dim password As String 
    ctrshowlogin = 0 
    ds = New DataSet 
    da = New MySqlDataAdapter("select * from password", conn) 
    da.Fill(ds, "pword") 

    If cmbuser.SelectedItem = "Administrator" Then 
     For rowctr = 0 To ds.Tables(0).Rows.Count - 1 
      password = ds.Tables(0).Rows(rowctr).Item(0).ToString 
      If password = txtpass.Text Then 
       login = True 
      End If 
     Next (rowctr) 
     If login = True Then 
      MessageBox.Show("Login Successful!") 
      frmcomodities.Show() 
      Me.Hide() 
      cmbuser.Text = "" 
     ElseIf login = False Then 
      MessageBox.Show("Wrong Password, Please try again.") 
      txtpass.Focus() 
     End If 
    End If 
End Sub 

Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click 
    Close() 
End Sub 
End Class 

任何想法?我被这个问题困住了。如果你能帮忙,我很乐意欣赏它。谢谢。

+0

在什么地方错误发生? –

+0

在这一行:da.Fill(ds,“pword”) –

+0

你真的有一个名为'密码'的表吗?它的模式是什么? – Steve

回答

0

您需要在da.Fill(ds, "pword")线要么改变表的名称相匹配的数据库表名(密码):

da.Fill(ds, "password") 

或只是删除该参数完全

da.Fill(ds)