Benutzer mit den meisten Antworten
VS 8 SQL WHERE mit Variable gestalten

Frage
-
Hallo. Ich möchte in einer Windowsform über eine Combobox, bei der ich Werte aussuche, die jeweilige SQL-Abfrage beeinflussen. Ich bin schon auf den Parameterauflistungs-Editor gestossen, aber dort gibt es keine Möglichkeit ein Stuerfeld oder eine Variable auszuwählen. Nur Datentypen zur Auswahl. Was mache ich verkehrt? Wie funktioniert das? Kann mir jemand helfen?
Antworten
-
Hallo chefe88
Grundsätzlich empfehle ich Dir folgende Möglichkeiten:
1. Verwenden eines Parameters via TableAdapter des DataSet
Falls Du Deine Datenquelle zu Deinem Projekt hinzugefügt hast, steht Die mit dem DataSet-Editior ein einfaches und mächtiges Tool zur Verfügung. Wähle bei der gewünschten Tabelle den TableAdapter, klicke rechts und selektiere "Add Query" oder "Abfrage hinzufügen". Klick Dich durch bis zum Querybuilder. Dort kannst Du beim relevanten Wert unter Filter ein "?" setzen. Gib der Abfrage schliesslich einen sinnvollen Namen (z.B. "AbfrageDurchName") und schliesse den Wizard.
Nun kannst Du die Query im Code verwenden, indem Du Deine Table mit diese Query füllst. Den erforderlichen Parameter entnimmst Du dann der Combobox:
Zum Beispiel: einTableAdapter.AbfrageDurchName(einDataSet.eineDataTable, eineComboBox.SelectedText)
Dadurch werden nur die Datensätze in die DataTable geladen, welche dem in der ComboBox selektierten Namen entsprechen.
Natürlich kann kannst Du auch ohne Verwendung des DataSet-Editors per Code eine Abfrage zusammensetzen und ausführen. Dies lohnt sich jedoch erst, wenn Du viele Parameter hast und diese auch Nothing, bzw. NULL sein können. Weiter könntest Du aus Deiner Dantenbank eine gespeicherte Prozedur aufrufen, die den Parameter verarbeitet.
Lass mich gerne wissen, wenn Du mehr Infos brauchst. Gruss- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 2. März 2010 15:49
Alle Antworten
-
Hallo chefe88
Grundsätzlich empfehle ich Dir folgende Möglichkeiten:
1. Verwenden eines Parameters via TableAdapter des DataSet
Falls Du Deine Datenquelle zu Deinem Projekt hinzugefügt hast, steht Die mit dem DataSet-Editior ein einfaches und mächtiges Tool zur Verfügung. Wähle bei der gewünschten Tabelle den TableAdapter, klicke rechts und selektiere "Add Query" oder "Abfrage hinzufügen". Klick Dich durch bis zum Querybuilder. Dort kannst Du beim relevanten Wert unter Filter ein "?" setzen. Gib der Abfrage schliesslich einen sinnvollen Namen (z.B. "AbfrageDurchName") und schliesse den Wizard.
Nun kannst Du die Query im Code verwenden, indem Du Deine Table mit diese Query füllst. Den erforderlichen Parameter entnimmst Du dann der Combobox:
Zum Beispiel: einTableAdapter.AbfrageDurchName(einDataSet.eineDataTable, eineComboBox.SelectedText)
Dadurch werden nur die Datensätze in die DataTable geladen, welche dem in der ComboBox selektierten Namen entsprechen.
Natürlich kann kannst Du auch ohne Verwendung des DataSet-Editors per Code eine Abfrage zusammensetzen und ausführen. Dies lohnt sich jedoch erst, wenn Du viele Parameter hast und diese auch Nothing, bzw. NULL sein können. Weiter könntest Du aus Deiner Dantenbank eine gespeicherte Prozedur aufrufen, die den Parameter verarbeitet.
Lass mich gerne wissen, wenn Du mehr Infos brauchst. Gruss- Als Antwort markiert Robert BreitenhoferModerator Dienstag, 2. März 2010 15:49