2014-01-19 2 views
0

У меня есть форма редактирования для моей таблицы SQL, которая содержит текстовые поля для редактирования пользователем информации о выбранной записи. При загрузке данные/информация о выбранной записи/строке вставляются в соответствующие текстовые поля, и как только пользователь изменяет то, что они хотят, вся запись обновляется, щелкая Updatebtn.Ошибка обновления SQL + WHERE Разъяснение Классы

Соединение установлено успешно, и форма редактирования заполняет текстовые поля, как ожидалось. Однако, когда я нажимаю Updatebtn я получаю следующее сообщение об ошибке (хотя это не может быть ограничено одной ошибки!)

необработанное исключение типа «System.Data.SqlClient.SqlException» произошла в системе. Data.dll

Дополнительная информация: Не удалось найти хранимую процедуру «P».

Это подчеркивает cmd.ExecuteScalar()

Updatebtn код выглядит следующим образом: - Обратите внимание, я использовал и адаптировал код с моей кнопки Add, который хорошо работает, так что я знаю, этот метод работает. Пожалуйста, также проверьте мое предложение WHERE; Я был не уверен, что это правильный способ ссылки на выбранную мной запись и ее обновление.

Дополнительная информация: midtxt.Text в предложении WHERE заполняется загрузкой форм и содержит Member_ID выбранного индекса/элемента из DataGridView.

Private Sub Updatebtn_Click(sender As Object, e As EventArgs) Handles Updatebtn.Click 
    stcon = "Data Source =**.**.**.***;Initial Catalog=Members_Details;Integrated Security=False;User=UGSTUDIOLEADERSHIP;Password=****************;" 
    con = New SqlConnection(stcon) 

    con.Open() 
    p(0) = New SqlParameter("@Members_ID", SqlDbType.Int) 
    p(1) = New SqlParameter("@Gamer_Tag", SqlDbType.VarChar, 255) 
    p(2) = New SqlParameter("@Screenname", SqlDbType.VarChar, 255) 
    p(3) = New SqlParameter("@First_Name", SqlDbType.VarChar, 255) 
    p(4) = New SqlParameter("@Last_Name", SqlDbType.VarChar, 255) 
    p(5) = New SqlParameter("@DoB", SqlDbType.VarChar, 255) 
    p(6) = New SqlParameter("@E_Mail_Address", SqlDbType.VarChar, 255) 
    p(7) = New SqlParameter("@Position", SqlDbType.VarChar, 255) 
    p(8) = New SqlParameter("@UG_Studio", SqlDbType.VarChar, 255) 
    p(9) = New SqlParameter("@Cautions", SqlDbType.VarChar, 255) 
    p(10) = New SqlParameter("@Record", SqlDbType.VarChar, 255) 
    p(11) = New SqlParameter("@Event_Attendance", SqlDbType.VarChar, 255) 
    p(12) = New SqlParameter("@Members_Status", SqlDbType.VarChar, 255) 
    p(13) = New SqlParameter("@GTA_V_Crew_Member", SqlDbType.VarChar, 255) 
    p(14) = New SqlParameter("@Games_Owned", SqlDbType.VarChar, 255) 
    p(15) = New SqlParameter("@Rep_Group", SqlDbType.VarChar, 255) 
    p(0).Value = midtxt.Text 
    p(1).Value = gttxt.Text 
    p(2).Value = sntxt.Text 
    p(3).Value = fntxt.Text 
    p(4).Value = lntxt.Text 
    p(5).Value = dobtxt.Text 
    p(6).Value = emailtxt.Text 
    p(7).Value = teamptxt.Text 
    p(8).Value = ugptxt.Text 
    p(9).Value = ugctxt.Text 
    p(10).Value = recordtxt.Text 
    p(11).Value = eventatxt.Text 
    p(12).Value = memberstatcombo.Text 
    p(13).Value = gtavcrewmembercombo.Text 
    p(14).Value = gamesownedtxt.Text 
    p(15).Value = RepGroupcombo.Text 

    cmd = New SqlCommand("UPDATE PersonsA SET([email protected]_ID,[email protected]_Tag,[email protected],[email protected]_Name,[email protected]_Name,[email protected],[email protected]_Mail_Address,[email protected],[email protected]_Studio,[email protected],[email protected],[email protected]_Attendance,[email protected]_Status,[email protected]_V_Crew_Member,[email protected]_Owned,[email protected]_Group WHERE Members_ID =)"(midtxt.Text), con) 
    cmd.Parameters.Add(p(0)) 
    cmd.Parameters.Add(p(1)) 
    cmd.Parameters.Add(p(2)) 
    cmd.Parameters.Add(p(3)) 
    cmd.Parameters.Add(p(4)) 
    cmd.Parameters.Add(p(5)) 
    cmd.Parameters.Add(p(6)) 
    cmd.Parameters.Add(p(7)) 
    cmd.Parameters.Add(p(8)) 
    cmd.Parameters.Add(p(9)) 
    cmd.Parameters.Add(p(10)) 
    cmd.Parameters.Add(p(11)) 
    cmd.Parameters.Add(p(12)) 
    cmd.Parameters.Add(p(13)) 
    cmd.Parameters.Add(p(14)) 
    cmd.Parameters.Add(p(15)) 
    cmd.ExecuteScalar() 'This is where the Error is detected. 
    MsgBox("Data has been saved!") 

    da = New SqlDataAdapter("SELECT * FROM PersonsA", con) 
    ds = New DataSet 
    da.Fill(ds, "PersonsA") 

    LeadersAccessTable.DataGridView1.DataMember = "PersonsA" 
    LeadersAccessTable.DataGridView1.DataSource = ds 

    con.Close() 
End Sub 

И помощь будет замечательной! Я также новичок в SQL в vb.

ответ

Смежные вопросы