Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 'Ricerca In un database access e riempimento listbox - Update 22/07/13
- 'ListBox1 = la listbox dove caricare i risultati
- 'db_txt_cerca = Textbox dove viene inserita la stringa di ricerca
- 'db_cmb_ordina = Combobox opzionale dove ho messo per quale valore ordinare la lista (ID, Nome, Anno, ecc.)
- 'db_cmb_ordina2 = Combobox opzionale dove ho messo il tipo di ordinamento (Ascendente, Discendente) (ASC, DESC)
- 'db_cmb_tipo = Combobox opzionale dove ho messo un filtro di ricerca per un solo valore (in questo caso TIPO)
- 'database_file = percorso del database access
- Private Sub db_btn_cerca_Click(sender As Object, e As EventArgs) Handles db_btn_cerca.Click
- 'Svuotare la Listbox
- ListBox1.Items.Clear()
- 'Creare l'array con i vari nomi della ricerca
- Dim cerca_string_array() As String = db_txt_cerca.Text.Split(" ")
- 'Creare la stringa della ricerca da inserire nella query
- Dim cerca_string As String = "Nome LIKE '%" + cerca_string_array(0) + "%'"
- For i As Integer = 1 To cerca_string_array.Count - 1
- cerca_string = cerca_string + " AND Nome LIKE '%" + cerca_string_array(i) + "%'"
- Next
- 'Creare la query
- Dim queryString As String = "SELECT ID, Nome, Anno, TIPO, Lingua FROM Games WHERE " + cerca_string + " ORDER BY " + db_cmb_ordina.Text + " " + db_cmb_ordina2.Text
- 'Scegliere i filtri (Opzionale)
- If db_cmb_tipo.Text = "--Tutti--" Then
- queryString = "SELECT ID, Nome, Anno, TIPO, Lingua FROM Games WHERE " + cerca_string + " ORDER BY " + db_cmb_ordina.Text + " " + db_cmb_ordina2.Text
- Else
- queryString = "SELECT ID, Nome, Anno, TIPO, Lingua FROM Games WHERE TIPO LIKE '" + db_cmb_tipo.Text + "' AND " + cerca_string + " ORDER BY " + db_cmb_ordina.Text + " " + db_cmb_ordina2.Text
- End If
- 'Connettersi al database: database_file
- Using connection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + database_file)
- 'Aprire la connessione
- Dim command As New OleDbCommand(queryString, connection)
- connection.Open()
- 'Riempire la Listbox con i risultati della query
- Dim reader As OleDbDataReader = command.ExecuteReader()
- While reader.Read()
- If db_cmb_ordina.Text = "ID" Then
- ListBox1.Items.Add(reader.Item("ID").ToString + " | [" + reader.Item("TIPO") + "] " + reader.Item("Nome") + " (" + reader.Item("Anno") + ") - " + reader.Item("Lingua"))
- ElseIf db_cmb_ordina.Text = "Nome" Then
- ListBox1.Items.Add(reader.Item("Nome") + " (" + reader.Item("Anno") + ") - " + " [" + reader.Item("TIPO") + "] " + reader.Item("Lingua") + " |" + reader.Item("ID").ToString)
- End If
- End While
- ' always call Close when done reading.
- reader.Close()
- 'Chiudere la connessione
- connection.Close()
- End Using
- End Sub
Add Comment
Please, Sign In to add comment