SQL INSERT INTO оператор не вставляет данные в базу данных - PullRequest
0 голосов
/ 27 августа 2018

Я не мог понять неправильно в этом коде.Тем не менее, этот insert into запрос не передает данные в мою базу данных SQL Server.

Try
    Dim connetionString As String
    Dim cnn As SqlConnection
    connetionString = "Data Source=LAPTOP-7I5LAV8T; Initial Catalog=dbTailorMadePeople; User ID=sa; Password=sa1111"
    cnn = New SqlConnection(connetionString)
    cnn.Open()
    Dim cmd As New SqlCommand With {.CommandText = "INSERT INTO rsMember(firstName, middleName, lastName, memberID) VALUES ('" & txtFirstName.Text & "', '" & txtMiddleName.Text & "', '" & txtLastName.Text & "', '" & txtID.Text & "')", .Connection = cnn}

    cmd.ExecuteNonQuery()

    MsgBox("Success")

Catch ex As Exception

End Try

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Поскольку вы используете ADO.Net, всегда настраивайте свой запрос, чтобы избежать SQL-инъекций.

ex

Dim query as String = String.Empty
query &= "INSERT INTO rsMember(firstName, middleName, lastName, memberID)  "
query &= "VALUES (@firstName,@middleName, @lastName, @memberID)"

Using conn as New SqlConnection("yourConnectionStringHere")
    Using comm As New SqlCommand()
        With comm
            .Connection = conn
            .CommandType = CommandType.Text
            .CommandText = query
            .Parameters.AddWithValue("@firstName", strFName)
            .Parameters.AddWithValue("@middleName", strMName)
            .Parameters.AddWithValue("@lastName", strLName)
            .Parameters.AddWithValue("@memberID", strMemberID)
        End With
        Try
            conn.open()
            comm.ExecuteNonQuery()
        Catch(ex as SqlException)
            MessageBox.Show(ex.Message.ToString(), "Error Message")
        End Try
    End Using
End USing 
0 голосов
/ 27 августа 2018

В этой строке есть ошибка:

Dim cmd As New SqlCommand With {.CommandText = "INSERT INTO rsMember values (firstName, middleName, lastName, memberID) VALUES ('" & txtFirstName.Text & "', '" & txtMiddleName.Text & "', '" & txtLastName.Text & "', '" & txtID.Text & "')", .Connection = cnn}

Примечание: пропущенные значения в SQL-запросе

Совет: 1) Перед выполнением запроса Sql временно сохраните запрос sql в строке.

Dim SqlQuery as string ="Your insert query"
Dim cmd As New SqlCommand With {.CommandText = SqlQuery  , .Connection = cnn}

2) использовать точку останова в этой строке

Dim SqlQuery as string = "Ваш запрос вставки"

Перерыв во время работы, получить значение из переменной SqlQuery и проверить, работает ли запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...