Я пытаюсь динамически генерировать запрос с использованием значений текстового поля из формы «Мои заказы», чтобы обновлять только те значения, которые были введены пользователем.Обновление базы данных SQL Server динамически в VB.Net
Я использую следующий код:
Dim str As String
str = "UPDATE Bookings SET "
Dim first As Integer = 1
For Each x As Control In Me.Controls
If x.GetType Is GetType(TextBox) Then
If first = 1 Then
first = 2
Else
str &= ","
End If
If x.Tag = 1 Then
str = str & x.Name & " = @" & x.Name
End If
End If
Next
Но генерирует запрос следующим образом:
Update Bookings SET ,,booking_date = @booking_date,,,,,cust_name = @cust_name where bookingID = @bookingID
Или, если я хочу, чтобы обновить только 1 поле он генерирует это:
Update Bookings SET ,,,,,,,cust_name = @cust_name where bookingID = @bookingID
Я знаю, что это не отвечает на ваш вопрос вообще, но, пожалуйста, подумайте об использовании SQLCommand и SQLParameters, если этот код предназначен для использования в производстве. Генерация SQL - вот массивный недостаток безопасности :) –
Я использовал sqlcommand и sql-параметры, и этот код просто для генерации запроса во время выполнения для текстовых полей, имеющих значение –