Erste Frage hier, und Vorwarnung Ich bin sehr neu im Programmieren im Allgemeinen, versuche nur, die Grundlagen herauszufinden.Hinzufügen von Combobox-Elementen aus SQL Server mit einzelner (und variierender) Spalte
Grundsätzlich versuche ich, alle Elemente in einer angegebenen Liste von meinem SQL Server auszuwählen, sie zu einem Array hinzuzufügen und dann eine Combobox mit diesem Array zu füllen.
Der SQL-Server-Struktur ist wie folgt: Just a representation
Der Benutzer wählt, welches Produkt sie bauen, wenn sie sich anmelden, und dann würde ich eine Combobox gerne mit all den Teilen gefüllt werden, die betreffen dieser Gegenstand.
Das aktuelle Codebeispiel
Public Class frmProduct
Private Sub frmProduct_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim mycon As SqlConnection = New SqlConnection('connection string')
mycon.Open()
Using mycon
Dim prodlist As String = frmMain.cmbProduct.SelectedItem
Dim cmds As String = "SELECT DISTINCT(Product) FROM [Products] where Product = @prodlist"
Dim cmde As New SqlCommand(sqlt, mycon)
cmde.Parameters.AddWithValue("@Product", prodlist)
Dim dr As SqlDataReader = scmd.ExecuteReader
If dr.HasRows() Then
cmbFailure.Items.Add(dr.GetString(0))
End If
scmd.ExecuteNonQuery()
End Using
End Sub
End Class
Der Benutzer wählt das Produkt auf dem Login-Formular, und das ausgewählte Produkt wird in die Stückliste Form übertragen.
Der Fehler, den ich gerade empfange, der wahrscheinlich der erste von vielen ist, ist "Ungültiger Spaltenname Produkt". Ich dachte, das Problem könnte sein, dass das ausgewählte Produkt nicht übertragen wird, aber ich habe ein Etikett hinzugefügt, bei dem ich den Text so ändere, dass er gleich "prodlist" ist und den Etikettentext genau ändert.
Wieder bin ich frisches Fleisch, also entschuldige ich mich für offensichtliche Fehler. Danke für Ihre Hilfe!
Die Fehlermeldung besagt, dass Ihre 'Products' Tabelle keine Spalte mit dem Namen 'Product' hat. – jmcilhinney
Ihr SQL-Code macht auch dann keinen Sinn, wenn diese Spalte existiert. Ihr Sprichwort "Holen Sie alle Produktwerte aus der Produkttabelle, in der der Produktwert einer Eingabe entspricht". Das bedeutet, dass Sie immer nur kein Ergebnis oder ein einzelnes Ergebnis erhalten, das Ihrer Eingabe entspricht. Sie sprechen über Produkte und Teile, daher sollten Sie sicher eine Produkttabelle mit einer ProductId-Spalte als Primärschlüssel und dann eine Parts-Tabelle mit einer ProductId-Spalte als Fremdschlüssel haben. Sie erhalten dann alle PartName-, Description- oder ähnliche Werte aus dieser Parts-Tabelle basierend auf productId. – jmcilhinney