Im пытаюсь сделать поиск, где вы можете ввести либо 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 injection] (http://en.wikipedia.org/wiki/SQL_injection) атак. Ради ваших пользователей, пожалуйста, узнайте, как использовать подготовленные операторы/параметризованные запросы. –
Вы никогда не должны использовать пользовательский ввод для создания инструкции sql. Я не могу объяснить все это в одном комментарии, но Google SQL для более подробной информации. –
Извините im new vb. Что мне делать? –