Это потому, что вы используете его как строку.
Вы можете попробовать добавить значение текстового поля inline:
sqCmd.CommandText = "INSERT INTO TestTable" & "(FirstColumn, SecondColumn)" & "VALUES (" & textbox1 & "," & textbox1 & ")"
или даже лучше взгляните на параметры sql , который является лучшим способом справиться с parameterized queries
, поскольку, помимо простоты запроса, он предотвращает инъекции sql
С параметрами sql ваше утверждение может быть:
sqCmd.CommandText = "INSERT INTO TestTable" & "(FirstColumn, SecondColumn)" & "VALUES (@textboxValue,@textboxValue)"
sqCmd.Parameters.Add(new SqlParameter("@textboxValue", textbox1))
Обновление:
Ошибка, которую вы получаете, состоит в том, что вы анализируете текстовое поле как объект прямо в базе данных, а не его фактическое значение. В моем примере выше я просто предположил, что textbox1 была строковой переменной, объявленной ранее. Чтобы это исправить, вы можете изменить свои команды следующим образом:
Dim myTextBoxValue As String
myTextBoxValue = textbox1.Text
sqCmd.CommandText = "INSERT INTO TestTable" & "(FirstColumn, SecondColumn)" & "VALUES (@textboxValue,@textboxValue)"
sqCmd.Parameters.Add(new SqlParameter("@textboxValue", myTextBoxValue ))