Я использую Visual Studio 2015, язык Visual Basic. Я хочу ВСТАВИТЬ В базу данных Access имя пользователя (в коде «Utilizador»). Это код, который у меня есть:

Try
    Dim nconnect As New OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0;" & "Data Source =|DataDirectory|S_Campo.accdb")
    nconnect.Open()
    Dim ncmd As OleDbCommand = nconnect.CreateCommand()
    ncmd.CommandText = "INSERT INTO Utilizador (Nome) VALUES (@p1)"
    ncmd.Parameters.AddWithValue("@1", Me.TextBox5.Text) 'Nome Do Utilizador
    ncmd.ExecuteNonQuery()
    nconnect.Close()
    MsgBox("Utilizador lançado com êxito", MsgBoxStyle.OkOnly, "Informação")

Catch ex As Exception
    MessageBox.Show(Err.Description)
End Try

Он не возвращает мне сообщения об ошибке, но данные не отправляются в базу данных. Однако UPDATE и DELETE работают нормально, используя «Параметры».

Может что с ним не так?

FerPessoa

Ответов: 1

Ответы (1)

Похоже, у вас проблема с параметрами. Здесь

ncmd.CommandText = "INSERT INTO Utilizador (Nome) VALUES (@p1)"

ваш параметр @ p1. А здесь

ncmd.Parameters.AddWithValue("@1", Me.TextBox5.Text) 'Nome Do Utilizador

это @ 1

В любом случае вот как надо проверять на успех

If ncmd.ExecuteNonQuery() > 0 Then
    MessageBox.Show("Success!!")
End If

2022 WebDevInsider