Ciao ragazzi,prima di tutto volevo premettere che è la prima volta che mi affaccio nel mondo dei database e di vb.net,volevo realizzare una form con delle combobox che si riempissero automaticamente prendendo i dati dalle tabelle del database. Ci sono riuscito ma in parte. Mi spiego,volevo fare in modo che ci fosse una subroutine che,una volta chiamata,passandole i giusti parametri mi riempisse le combo,senza dover scrivere tutto ogni volta.
Ho elaborato una soluzione come questa:
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.OleDb
Public Class FrmPrenotazione
Private Sub FrmPrenotazione_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CreaTabelle("Bevande", "SELECT * FROM Bevande", cmbBevande)
CreaTabelle("Primi Piatti", "SELECT * FROM Primi Piatti", cmbPrimiPiatti)
CreaTabelle("Contorni", "SELECT * FROM Contorni", cmbContorni)
End Sub
Private Sub CreaTabelle(ByVal NomeTab As String, ByVal query As String, ByVal combo As ComboBox)
Dim cn As New OleDbConnection(strconn)
cn.Open()
Dim command As New OleDbCommand(query, cn)
Dim da As New OleDbDataAdapter
da.SelectCommand = command
Dim ds As New DataSet(NomeTab)
ds.Clear()
da.Fill(ds, NomeTab)
combo.DataSource = ds.Tables(NomeTab)
combo.DisplayMember = "Nome"
End Sub
End Class
Il problema è che funzioan solamente con la prima combobox.Sapreste dirmi cosa modificare per farla funzionare con tutte? E presente anche un modulo,dove ho la stringa di connessione
Grazie in anticipo!