Purtoppo non ho tempo per tirarti giù il codice, ma il costruttore del OleDbDataAdapter accetta anche un OleDbCommand, per l'istruzione SELECT. Quest'ultimo ha un costruttore dove inserire oltre alla stringa parametrica anche l'OleDbConnection.
Non ti resta quindi che, creare l'OleDbCommand con il parametro e l'oggetto di connessione, creare l'OleDbDataAdapter e quindi popolare il tuo DataSet.
Ti incollo queste linee di codice prese da MSDN dove vengono creati i comandi INSERT UPDATE DELETE all'interno trovi il costruttore dell'OleDbDataAdapter di cui ti ho parlato.
Ciao.
Public Sub CreateOleDbDataAdapter()
Dim myOleDbConnection As OleDbConnection = New OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;" & _
"Integrated Security=SSPI;Initial Catalog=northwind")
Dim myOleDbCommand As OleDbCommand = New OleDbCommand("SELECT CustomerID, CompanyName FROM CUSTOMERS", myOleDbConnection)
Dim custDA As OleDbDataAdapter = New OleDbDataAdapter(myOleDbCommand)
custDA.MissingSchemaAction = MissingSchemaAction.AddWithKey
custDA.InsertCommand = New OleDbCommand("INSERT INTO Customers (CustomerID, CompanyName) " & _
"VALUES (?, ?)", myOleDbConnection)
custDA.UpdateCommand = New OleDbCommand("UPDATE Customers SET CustomerID = ?, CompanyName = ? " & _
"WHERE CustomerID = ?", myOleDbConnection)
custDA.DeleteCommand = New OleDbCommand("DELETE FROM Customers WHERE CustomerID = ?", myOleDbConnection)
custDA.InsertCommand.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID")
custDA.InsertCommand.Parameters.Add("@CompanyName", OleDbType.VarChar, 40, "CompanyName")
custDA.UpdateCommand.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID")
custDA.UpdateCommand.Parameters.Add("@CompanyName", OleDbType.VarChar, 40, "CompanyName")
custDA.UpdateCommand.Parameters.Add("@oldCustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original
custDA.DeleteCommand.Parameters.Add("@CustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original
End Sub
SuperCap
(Le risposte che lascio sono limitate alle mie conoscenze sull'argomento trattato. Quindi potrei anche sbagliare!)