0
Imports System.Data
Imports System.Data.OleDb

Public Class Form1
    Dim cnnOLEDB As New OleDbConnection
    Dim cmdOLEDB As New OleDbCommand
    Dim cmdInsert As New OleDbCommand
    Dim cmdDelete As New OleDbCommand
    Dim cmdUpdate As New OleDbCommand


    Dim conn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= C:\Users\Steven\Desktop\Database.accdb"

    Private Sub searchbtn_Click(sender As Object, e As EventArgs) Handles searchbtn.Click

        If ssearch.Text <> "" Then
            cmdOLEDB.CommandText = "SELECT StudentID from Students Where TP = " & CInt(ssearch.Text)
            cmdOLEDB.Connection = cnnOLEDB


            Dim rd As OleDbDataReader = cmdOLEDB.ExecuteReader()
            If rd.Read = True Then
                Form2.Show()
                Form2.TextBox1.Text = rd(0).ToString
            Else
                MessageBox.Show("Information not found in Database")

            End If
            rd.Close()
        End If

        Me.Hide()
        Form2.Show()
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        cnnOLEDB.ConnectionString = conn

        cnnOLEDB.Open()

    End Sub

    Private Sub ssearch_TextChanged(sender As Object, e As EventArgs) Handles ssearch.TextChanged

    End Sub

    Private Sub insertbtn_Click(sender As Object, e As EventArgs) Handles insertbtn.Click
        If ssearch.Text <> "" Then

            cmdInsert.CommandText = "INSERT INTO Students (StudentID) VALUES (" & ssearch.Text & ");"

            cmdInsert.CommandType = CommandType.Text
            cmdInsert.Connection = cnnOLEDB
            cmdInsert.ExecuteNonQuery()
            MsgBox(ssearch.Text & " " & "Record inserted.")
            ssearch.Text = ""
        Else
            MsgBox("Please Enter Student ID")

        End If
        cmdInsert.Dispose()

    End Sub
End Class

ご覧のとおり、データベースにデータを挿入することはできますが、検索することはできません。実行すると、次のようにエラーが表示されDim rd As OleDbDataReader = cmdOLEDB.ExecuteReader() ます。

1 つ以上の必須パラメーターに値が指定されていません。視覚的な基本エラー

私の間違いは何ですか?

4

0 に答える 0