Hey all,
I have a button that is supposed to display the next row in my database, however Im getting the error "Parameter @ID has no default value"
I can make my code work without parameterized queries but Im trying to make it work with them...So Im sure there is something wrong with my code, obviously
Can anyone help me out?
If I change my sql statement toCode:Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click txtID.Text = txtID.Text + 1 Dim ds As New DataSet() Dim intCurrentIndex As Integer = 0 Dim da As New OleDbDataAdapter() Dim conn As New OleDbConnection() Dim dr As OleDbDataReader conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mydb.mdb;" conn.Open() da.SelectCommand = New OleDbCommand("SELECT * FROM Log WHERE ID = @ID") da.SelectCommand.Connection = conn da.SelectCommand.Parameters.Add("@idate", OleDbType.DBDate, 40, "idate") da.SelectCommand.Parameters.Add("@itime_all", OleDbType.VarChar, 40, "itime_all") da.SelectCommand.Parameters.Add("@ishift", OleDbType.VarChar, 40, "ishift") da.SelectCommand.Parameters.Add("@icomment", OleDbType.VarChar, 5000, "icomment") da.SelectCommand.Parameters.Add("@icategory", OleDbType.VarChar, 200, "icategory") da.SelectCommand.Parameters.Add("@irecipe", OleDbType.VarChar, 100, "irecipe") da.SelectCommand.Parameters.Add("@irate", OleDbType.VarChar, 40, "irate") da.SelectCommand.Parameters.Add("@ID", OleDbType.VarChar, 40, "ID") dr = da.SelectCommand.ExecuteReader() While dr.Read() txtID.Text = da.SelectCommand.Parameters("@ID").Value txtDate.Text = da.SelectCommand.Parameters("@idate").Value txtTime_ALL.Text = da.SelectCommand.Parameters("@itime_all").Value txtShift.Text = da.SelectCommand.Parameters("@ishift").Value txtComment.Text = da.SelectCommand.Parameters("@icomment").Value txtCategory.Text = da.SelectCommand.Parameters("@icategory").Value txtRecipe.Text = da.SelectCommand.Parameters("@irecipe").Value txtRate.Text = da.SelectCommand.Parameters("@irate").Value End While conn.Close() End Sub
Then i can get it to work fine, but I hear that isn't good programming.Code:WHERE ID = "& txtID.Text &"
Thanks everyone.




Reply With Quote