Я пытаюсь использовать некоторый код SQL, но при попытке этого кода я получаю сообщение об ошибке.
Main.database.ExecuteCommand("UPDATE Contacts SET first_name='" + c.first_name + _
"', middle='" + c.middle + _
"', last_name='" + c.last_name + _
"', age='" + c.age + _
"', mobile_phone='" + c.mobile_phone + _
"', home_phone='" + c.home_phone + _
"', work_phone='" + c.work_phone + _
"', home_street='" + c.home_street + _
"', home_city='" + c.home_city + _
"', home_state='" + c.home_state + _
"', home_zip='" + c.home_zip + _
"', work_street='" + c.work_street + _
"', work_city='" + c.work_city + _
"', work_state='" + c.work_state + _
"', work_zip='" + c.work_zip + _
"', home_www='" + c.home_www + _
"', work_www='" + c.work_www + _
"', home_email='" + c.home_email + _
"', work_email='" + c.work_email + _
"' WHERE first_name='" + c.first_name + _
"' AND last_name='" + c.last_name + "'")
Я получаю следующую ошибку
Sql Исключение не было обработано
Типы данных text и varchar несовместимы в операторе равенства.
Я пытался пересмотреть код, используя параметры
Using conn As New SqlConnection(), _
myCommand As New SqlCommand("UPDATE Contacts SET" + _
"first_name=@first_name" + _
"AND middle=@middle" + _
"AND last_name=@last_name" + _
"AND age=@age" + _
"AND mobile_phone=@mobile_phone" + _
"AND home_phone=@home_phone" + _
"AND work_phone=@work_phone" + _
"AND home_street=@home_street" + _
"AND home_city=@home_city" + _
"AND home_state=@home_state" + _
"AND home_zip=@home_zip" + _
"AND work_street=@work_street" + _
"AND work_city=@work_city" + _
"AND work_state=@work_state" + _
"AND work_zip=@work_zip" + _
"AND home_www=@home_www" + _
"AND work_www=@work_www" + _
"AND home_email=@home_email" + _
"AND work_email=@work_email" + _
"WHERE first_name=@first_name" + _
"AND last_name=@last_name", conn)
myCommand.Parameters.Add(New SqlParameter("@first_name", c.first_name))
myCommand.Parameters.Add(New SqlParameter("@middle", c.middle))
myCommand.Parameters.Add(New SqlParameter("@last_name", c.last_name))
myCommand.Parameters.Add(New SqlParameter("@age", c.age))
myCommand.Parameters.Add(New SqlParameter("@mobile_phone", c.mobile_phone))
myCommand.Parameters.Add(New SqlParameter("@home_phone", c.home_phone))
myCommand.Parameters.Add(New SqlParameter("@work_phone", c.work_phone))
myCommand.Parameters.Add(New SqlParameter("@home_street", c.home_street))
myCommand.Parameters.Add(New SqlParameter("@home_city", c.home_city))
myCommand.Parameters.Add(New SqlParameter("@home_state", c.home_state))
myCommand.Parameters.Add(New SqlParameter("@home_zip", c.home_zip))
myCommand.Parameters.Add(New SqlParameter("@work_street", c.work_street))
myCommand.Parameters.Add(New SqlParameter("@work_city", c.work_city))
myCommand.Parameters.Add(New SqlParameter("@work_state", c.work_state))
myCommand.Parameters.Add(New SqlParameter("@work_zip", c.work_zip))
myCommand.Parameters.Add(New SqlParameter("@home_www", c.home_www))
myCommand.Parameters.Add(New SqlParameter("@work_www", c.work_www))
myCommand.Parameters.Add(New SqlParameter("@home_email", c.home_email))
myCommand.Parameters.Add(New SqlParameter("@work_email", c.work_email))
conn.Open()
myCommand.ExecuteNonQuery()
conn.Close()
End Using
Но у меня все еще есть проблема при инициализации соединения с этой ошибкой
Свойство ConnectionString не было инициализировано.