2013-12-06 3 views
0
Private Sub Exe1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    txtScore.Enabled = False 
    con.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\SJMI.Alfie\Documents\Visual Studio 2010\Projects\WindowsApplication2\WindowsApplication1\Accounts.accdb" 
    con.Open() 
End Sub 
Private Sub Submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Submit.Click 

    myqry = "UPDATE Accounts SET StudNo=?, Exer1=? WHERE Number=?" 
    Cmd = New OleDbCommand(myqry, con) 
    Cmd.Parameters.AddWithValue("?", txtScore.Text) 
    Cmd.Parameters.AddWithValue("?", myID.Text) 
    Cmd.ExecuteNonQuery() 

    txtScore.Text = score.ToString 
    con.Close() 
    MsgBox("Thank You!!") 
    Login.Show() 
    Me.Hide() 

End Sub 

Ничего не происходит после нажатия кнопки отправки.Обновление данных в базе данных MS Access vb.net

+0

Нет ошибок? Пробовали ли вы установить точку останова в строке «myqry»? Кроме того, ваше утверждение ожидает три параметра, и вы только поставляете два. Кроме того, вы должны обычно использовать соединения и команды ADO.NET в блоке 'Using'. –

+0

да сэр без ошибок. – user2926827

+0

Как вы знаете, что ничего не произошло? Вы поставили точку останова? –

ответ

2

Когда вы используете OleDb с Access, вы должны указывать значения параметров в том порядке, в каком они появляются в вашей инструкции SQL.

Также ваш UPDATE включает в себя 3 параметра, но ваш код поставляет значения только для 2 из них. Вам нужно добавить третье значение параметра, но я не знаю, откуда это взялось.

Я думаю, вам нужно что-то близкое к этому, и замените все, что подходит для моего [значение для параметра номера] placeholder.

myqry = "UPDATE Accounts SET StudNo=?, Exer1=? WHERE [Number]=?" 
Cmd = New OleDbCommand(myqry, con) 
Cmd.Parameters.AddWithValue("?", myID.Text) 
Cmd.Parameters.AddWithValue("?", txtScore.Text) 
Cmd.Parameters.AddWithValue("?", [value for Number parameter]) 
Cmd.ExecuteNonQuery() 

Примечание Я прилагается имя поля Количество в квадратных скобках, потому что это reserved word.

+0

все еще ничего не происходит после нажатия кнопки отправки. – user2926827

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