0
我試着做一個搜索,你可以輸入任何ID
或Name
但是當我試着輸入一個名字就顯示錯誤VB sql搜索錯誤「將數據類型varchar轉換爲bigint時出錯。」
「錯誤轉換數據類型爲varchar爲bigint。」
這裏是我的代碼:
If button1 = 2 Then
Dim SA As New SqlDataAdapter("Select [Dept_Id],[Dept_Name],[Active] From [it].[dbo].[Department] WHERE Dept_Id = '" & frmMain.txtSearch.Text & "' OR Dept_Name='" & frmMain.txtSearch.Text & "'", Connection1)
Dim DT As New DataTable
SA.Fill(DT)
With D
.DataSource = DT
.Columns(0).HeaderText = "Department ID"
.Columns(1).HeaderText = "Department Name"
.Columns(2).HeaderText = "Active"
End With
有一個錯誤線SA.Fill(DT)
'Dept_Id'可能是'bigint',但是您將它視爲一個字符串('nvarchar')。此外,您的代碼非常容易受到[SQL注入](http://en.wikipedia.org/wiki/SQL_injection)攻擊。爲了您的用戶,請了解如何使用預準備語句/參數化查詢。 –
你應該永遠不要使用用戶輸入來生成一條sql語句。我無法在一個註釋中解釋整個事情,但Google sql注入瞭解更多細節。 –
對不起,新的vb。我該怎麼辦? –