2010-11-29 5 views
0

私は好意を求めています。私は、ビューリストを使用してvb.netへのアクセスでデータを表示するが、私は名前を選択したい場合はできません。私を助けることができますか?コーディングが行われましたが、どこで障害が発生するのかわかりませんビューリスト内のデータを選択

Imports System.Data.OleDb 
Imports System.Data 
Public Class Guest_List 
    Dim cnn As OleDbConnection 
    Dim cmmd As OleDbCommand 
    Dim dReader As OleDbDataReader 
    Public title, FirstName, LastName, Address, Country, Company, DateIn, DateOut, RoomType, Note As String 
    Private Sub Guest_List_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     Call list_data() 
    End Sub 

    Private Sub txtKataKunci_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtKataKunci.TextChanged 
     Call list_data() 
    End Sub 

    Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged 
     Call pilih() 
    End Sub 

    Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click 
     Call pilih() 
    End Sub 

    Private Sub list_data() 

     Call clear_list() 
     Dim sqlx As String 
     Dim x As Integer 

     sqlx = "select title,firstname,lastname,address,country,company,datein,dateout,roomtype,notes from tcekin where firstname like '%" & Trim(txtKataKunci.Text) & "%' order by firstname asc" 

     cnn = New OleDbConnection(strConn) 
     If cnn.State <> ConnectionState.Closed Then cnn.Close() 
     cnn.Open() 
     cmmd = New OleDbCommand(sqlx, cnn) 
     dReader = cmmd.ExecuteReader 

     Try 
      While dReader.Read = True 
       x = Val(counter.Text) 
       counter.Text = Str(Val(counter.Text) + 1) 

       With ListView1 
        .Items.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(ListView1.Items.Count - 1).SubItems.Add("") 
        .Items(x).SubItems(0).Text = dReader.GetString(0) 
        .Items(x).SubItems(1).Text = dReader.GetString(1) 
        .Items(x).SubItems(2).Text = dReader.GetString(2) 
        .Items(x).SubItems(3).Text = dReader.GetString(3) 
        .Items(x).SubItems(4).Text = dReader.GetString(4) 
        .Items(x).SubItems(5).Text = dReader.GetString(5) 
        .Items(x).SubItems(6).Text = Format(CDate(dReader.GetDateTime(6)), "dd-MMMM-yyyy") 
        .Items(x).SubItems(7).Text = Format(CDate(dReader.GetDateTime(7)), "dd-MMMM-yyyy") 
        .Items(x).SubItems(8).Text = dReader.GetString(8) 
        .Items(x).SubItems(9).Text = dReader.GetString(9) 
       End With 
      End While 
     Finally 
      dReader.Close() 
     End Try 
     cnn.Close() 
    End Sub 

    Private Sub clear_list() 
     While Val(counter.Text) > 0 
      ListView1.Items(0).Remove() 
      counter.Text = Val(counter.Text) - 1 
     End While 
    End Sub 

    Private Sub pilih() 
     Try 
      title = ListView1.SelectedItems(0).SubItems(0).Text.ToString 
      FirstName = ListView1.SelectedItems(0).SubItems(1).Text.ToString 
      LastName = ListView1.SelectedItems(0).SubItems(2).Text.ToString 
      Address = ListView1.SelectedItems(0).SubItems(3).Text.ToString 
      Country = ListView1.SelectedItems(0).SubItems(4).Text.ToString 
      Company = ListView1.SelectedItems(0).SubItems(5).Text.ToString 
      DateIn = ListView1.SelectedItems(0).SubItems(6).Text.ToString 
      DateOut = ListView1.SelectedItems(0).SubItems(7).Text.ToString 
      RoomType = ListView1.SelectedItems(0).SubItems(8).Text.ToString 
      Note = ListView1.SelectedItems(0).SubItems(9).Text.ToString 
      Me.Close() 
     Catch ex As Exception 
      MsgBox("pilih salah satu data", MsgBoxStyle.Information) 
     End Try 

    End Sub 
End Class 

答えて

1

「名前を選択する」とはどういう意味ですか?データベースから特定の名前を照会しようとしていますか?

が が

String.Format("select title,firstname,lastname,address,country,company,datein,dateout,roomtype,notes from tcekin where firstname like '%{0}%' order by firstname asc", txtKataKunci.Text.Trim()) 

にあなたのSQLXを変更

そして、読者にブレークポイントを追加し、F5キーを押すと、任意のデータをDBから戻って来ているかどうかを確認します。また、アクセスDB上でクエリを直接実行することもできます。

0

はあなたのSQLステートメントによって返されたレコードのすべてを持つことになります。この方法でBindingSource

を使用して、リストビューにあなたのDataReaderを結合してみます。

関連する問題