Обновление таблицы с проблемой состояния - PullRequest
0 голосов
/ 18 февраля 2010

Использование SQL Server 2005, VB.Net

В моем приложении я использую 3 текстовых поля

Textbox1.text = Date
Textbox2.text = TimeIn
Textbox3.text = TimeOut

Я хочу обновить свою таблицу, используя значение текстового поля с условием

Например

Textbox1.text = 23/02/2009
Textbox2.text = 10:00  - HH:mm
Textbox3.text = 18:00

Запрос

update table1 set TimeIn = '" & Textbox2.Text & "', NewDate = case when CAST(LEFT('" & Textbox2.Text & "', 2) AS INT)  > CAST(LEFT('" & Textbox3.Text & "', 2) AS INT) then '" & Textbox1.Text & "' + 1 else '" & Textbox1.Text & "' end, TimeOut = '" & Textbox3.Text & "'  Where Date = '" & Textbox1.Text & "' 

Приведенный выше запрос показывает ошибку, так как "Преобразование не удалось при преобразовании значения varchar '23/02/2009' в тип данных int"

Может ли кто-нибудь дать мне решение этой ошибки.

Нужна помощь по запросу.

1 Ответ

1 голос
/ 18 февраля 2010

Во-первых, вам нужно использовать параметры, а не строить оператор SQL, используя строку, как в вашем примере, вы не хотите стать жертвой любых атак SQL-инъекций. предупреждение о безопасности в течение Но кроме этого я:

`'" & Textbox1.Text & "' + 1 `

Должно быть

DATEADD(day, 1,'" & Textbox1.Text & "')

Это добавит 1 день к вашей дате

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