Dies ist mein erster Versuch, ein Programm zu schreiben, das von Grund auf auf eine Datenbank zugreift, anstatt lediglich die bestehenden Programme meiner Firma zu modifizieren. Es ist auch das erste Mal, dass ich VB.Net 2010 benutze, da unsere anderen Programme in VB6 und VB.NET 2003 geschrieben sind. Wir verwenden SQL Server 2000, sollten aber bald auf 2008 upgraden, wenn das relevant ist.Wie ordne ich die Ergebnisse einer SQL-Abfrage mehreren Variablen in VB.NET zu?
ich in die Datenbank erfolgreich verbinden und Daten über Abfrage ziehen und zuweisen, zum Beispiel, um die Ergebnisse zu einer Combobox, wie hier:
Private Sub PopulateCustomers()
Dim conn As New SqlConnection()
Dim SQLQuery As New SqlCommand
Dim daCustomers As New SqlDataAdapter
Dim dsCustomers As New DataSet
conn = GetConnect()
Try
SQLQuery = conn.CreateCommand
SQLQuery.CommandText = "SELECT Customer_Name, Customer_ID FROM Customer_Information ORDER BY Customer_Name"
daCustomers.SelectCommand = SQLQuery
daCustomers.Fill(dsCustomers, "Customer_Information")
With cboCustomer
.DataSource = dsCustomers.Tables("Customer_Information")
.DisplayMember = "Customer_Name"
.ValueMember = "Customer_ID"
.SelectedIndex = -1
End With
Catch ex As Exception
MsgBox("Error: " & ex.Source & ": " & ex.Message, MsgBoxStyle.OkOnly, "Connection Error !!")
End Try
conn.Close()
End Sub
Ich habe auch kein Problem damit, eine Abfrage ausführen, die eine zieht einzelnes Feld und weist es mit ExecuteScalar einer Variablen zu. Was ich nicht herausgefunden habe, wie zu tun ist (und nicht scheinen kann, auf die richtige Kombination von Suchbegriffen zu treffen, um es woanders zu finden) ist, wie man eine Abfrage ausführt, die eine einzelne Zeile zurückgibt und dann verschiedene Felder innerhalb setzt diese Zeile zu einzelnen Variablen.
Im Fall ist es relevant, hier wird die GetConnect Funktion in dem obigen Code verwiesen:
Public Function GetConnect()
conn = New SqlConnection("Data Source=<SERVERNAME>;Initial Catalog=<DBNAME>;User Id=" & Username & ";Password=" & Password & ";")
Return conn
End Function
Wie führe ich eine Abfrage, um jedes Feld der zurückgegebenen Zeile auf einzelne Variablen zuweisen?
Während die DataReader-Route wahrscheinlich die beste ist (und die Art, wie ich gelandet bin), bin ich immer noch dabei, diese als die beste Antwort für die Beantwortung der spezifischen Frage zu bezeichnen. –