1
我試圖動態地使用我的預訂表單中的文本框值來生成一個查詢,以僅更新用戶輸入的那些值。在VB.Net中動態更新SQL Server數據庫
我使用下面的代碼:
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參數,並且此代碼僅用於在運行時爲具有值的文本框生成查詢 –