1

ASP.NET と VB.net で検索エンジンを実装しようとしています。検索は .sdf データベースから行われます。私は取得し続けます:

System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません

回線でエラーが発生

myDA.SelectCommand = cm

しかし、私のコードはきれいに見えるので、エラーの原因を指摘することはできません. 助けていただければ幸いです

Private Sub searchButton_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles searchButton.Click
    registration.Visible = True
    con.Open()
    cm.Connection = con
    cm.CommandText = "SELECT * FROM records WHERE phone = " & phoneTextBox.Text
    cm.ExecuteNonQuery()
    myDA.SelectCommand = cm
    myDA.Fill(myDataSet, "records")

    If myDataSet.Tables("records").Rows.Count = 0 Then
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
        TextBox6.Text = ""
        Response.Write("Record not Found")
    Else
        TextBox1.Text = myDataSet.Tables("Records").Rows(0).Item("phone")
        TextBox2.Text = myDataSet.Tables("Records").Rows(0).Item("name")
        TextBox3.Text = myDataSet.Tables("Records").Rows(0).Item("id")
        TextBox4.Text = myDataSet.Tables("Records").Rows(0).Item("pin")
        TextBox5.Text = myDataSet.Tables("Records").Rows(0).Item("area")
        TextBox6.Text = myDataSet.Tables("Records").Rows(0).Item("subscription")
    End If
End Sub
4

1 に答える 1

0

あなたのエラーはここにあります

          cm.CommandText = "SELECT * FROM records WHERE phone = " +& phoneTextBox.Text

電話番号は文字列または varchar フィールドです。つまり、「引用符」で囲む必要があります。クエリが実行されておらず、空の結果 (0 行) が返されていないためです。行がないため、最初の行、つまりrow [0]にアクセスしようとすると、nullrefrence例外が発生します

このようにコードを変更します

     cm.CommandText = "SELECT * FROM records WHERE phone = '" +phoneTextBox.Text+"'"
于 2015-11-02T09:06:26.220 に答える