Ошибка преобразования nvarchar в числовой - PullRequest
2 голосов
/ 26 февраля 2012

Я использовал следующий оператор для параметра.

.Parameters("@SearchValue").Value = TextBoxParentID.Text

для этого запроса:

 objSqlCommand.CommandText = "Select ID " & _
                               "From Parents " & _
                              "Where ID = @SearchValue"

ID - это числовой столбец SQL-сервера, но я получаю эту ошибку:

error converting nvarchar to numeric

Можете ли вы показать мне код, необходимый для исправления этого?

1 Ответ

1 голос
/ 26 февраля 2012

На этом этапе вы пытаетесь присвоить значение типа string, а параметр связан как строка (nvarchar).Сначала необходимо преобразовать его.

    ' Let's suppose that this is a value from your textbox
    Dim strNumber As String = "12"

    ' Prepare a placeholder to convert your string value into integer
    Dim myInteger As Integer

    ' Try to convert
    If Int32.TryParse(strNumber, myInteger) Then
        'If the conversion is successful

        Dim myConnection As New SqlConnection("Your ConnectionString")
        Dim myCommand As New SqlCommand("INSERT INTO Foo(Bar) VALUES (@Bar", myConnection)

        'Use this syntax to assign values to parameters
        myCommand.Parameters.AddWithValue("Bar", myInteger)
    End If

В этом фрагменте также используется метод AddWithValue.Я предлагаю вам использовать этот подход.

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