Для моей компании я должен создать базу данных клиентов, которую я управляю над приложением VB.NET.SQL как с несколькими текстовыми полями
Приложение имеет несколько текстовых полей и кнопку «Поиск» для клиента. Если я набираю имя клиента, оператор SQL Select работает и заполняет мой datagrid.
Но я хочу, чтобы иметь возможность вводить имя клиента и улицу, на которой он живет. Какое наилучшее решение для этого? используя случаи? используя множество утверждений If?
Вот мой код:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If True Then
Dim Conn As New MySqlConnection
Dim da As MySqlDataAdapter
Dim ds As New DataSet
Dim dt As New DataTable
Dim plz As String = plzTextBox.Text
Conn.ConnectionString = "server=localhost;uid=root;pwd=;database=wws; "
Dim sql As String = String.Empty
If vornameTextBox.Text <> String.Empty Then
sql = "vorname = " & vornameTextBox.Text.Trim
End If
If nachnameTextBox.Text <> String.Empty Then
AddCondition(sql, "nachname LIKE '%" & nachnameTextBox.Text.Trim & "%'")
End If
If emailTextBox.Text <> String.Empty Then
AddCondition(sql, "email LIKE '%" & emailTextBox.Text.Trim & "%'")
End If
If plzTextBox.Text <> String.Empty Then
AddCondition(sql, "plz LIKE '%" & plzTextBox.Text.Trim & "%'")
End If
If sql <> String.Empty Then
da = New MySqlDataAdapter("SELECT id,vorname,nachname,email,plz,strasse,nummer,stiege,stock,tuer FROM kunden WHERE " + sql, Conn)
da.Fill(dt)
DataGridView1.DataSource = dt
End If
Else
DataGridView1.ColumnCount = 1
DataGridView1.Rows.Add("1")
End If
End Sub
Заранее спасибо!
Вы открыты для [sql-injection] (http://msdn.microsoft.com/en-us/library/ms161953 (v = sql.105) .aspx). Используйте ['SqlParameter's] (http://dev.mysql.com/doc/refman/5.0/es/connector-net-examples-mysqlparameter.html). –
Спасибо за подсказку, заменит его. – bibz