Ich versuche eine Option zu erstellen, um einen bestimmten Eintrag in einer SQL-Tabelle auszuwählen, wenn mehrere vorhanden sind. Der Sub, der unten aufgeführt wird, ist für ein Textfeld (MOTxt) und eine Schaltfläche (GotMO) für das Überprüfen eines MO #, um aus SQL zu ziehen. Basierend auf der eingegebenen Nummer werden andere Textfelder auf der Seite mit den Daten dieser Zeile ausgefüllt. Es gibt Ausnahmen, bei denen die Monatsnummer mehrmals mit verschiedenen Daten für jeden Eintrag eingegeben wird. Also, hier ist meine Situation. Wenn wir eine doppelte MONumber in der Tabelle aufgelistet haben, füllt es die Textfelder mit dem ersten Eintrag, der für ein Update gefunden wird. Ich möchte eine dynamische Dropdownliste erstellen (die nur angezeigt wird, wenn Vielfache gefunden werden), die Feldeinträge "Name" für jede gefundene MONumber anzeigen und dann den richtigen Namen aus dieser Liste auswählen, um dann die Textfelder mit diesem ausgewählten Datenfeld zu füllen .DropDownList dynamisch angezeigt, wenn mehrere Einträge in der Tabelle vorhanden sind
mein Code hier hinter:
Protected Sub GotMONum_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles GotMO.Click
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Dim MOLength As String = MOTxt.Text
Dim TieOffTemp As Integer
Dim QTYTemp As Integer
Dim MySelectQuery As String = "SELECT Name,ProdLine,NoRods,TieOffs FROM z_md_Outwrap WHERE MONumber = @MONum"
Dim myConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("GLoomisDBConnectionString").ConnectionString)
Dim myCommand As New SqlCommand(MySelectQuery, myConnection)
Message2.InnerHtml = ""
Message.InnerHtml = ""
If (Me.MOTxt.Text = "") Then
MsgBox("Please enter an MO Number to check")
Else
' Fills fields based on MO Number
myCommand.Parameters.AddWithValue("@MONum", MOTxt.Text)
myConnection.Open()
da.SelectCommand = myCommand
da.Fill(ds, "tblData")
myConnection.Close()
If ds IsNot Nothing AndAlso ds.Tables.Count > 0 AndAlso ds.Tables(0).Rows.Count > 0 Then
NameTxt.Text = ds.Tables("tblData").Rows(0).Item("Name")
ProdLineTxt.Text = ds.Tables("tblData").Rows(0).Item("ProdLine")
NoRodsTxt.Text = ds.Tables("tblData").Rows(0).Item("NoRods")
TieOffsTxt.Text = ds.Tables("tblData").Rows(0).Item("TieOffs")
If Integer.TryParse(NoRodsTxt.Text, QTYTemp) Then
If Integer.TryParse(TieOffsTxt.Text, TieOffTemp) And TieOffTemp > 0.0 Then
AmountVal.Text = "$" & (QTYTemp * TieOffTemp * 0.18)
End If
End If
Else
Message.InnerHtml = "No MO# found as entered. Please check for errors."
Message.Style("color") = "red"
End If
End If
End Sub
Welche Version von .net sind Sie? – mutek
das ist alles mit .net 4.0 programmiert – user988265