none
VS 8 SQL WHERE mit Variable gestalten RRS feed

  • 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?
    Donnerstag, 7. Januar 2010 13:58

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


    Sonntag, 14. Februar 2010 07:25

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


    Sonntag, 14. Februar 2010 07:25
  • Hallo chefe88,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Dienstag, 2. März 2010 15:49
    Moderator