Problem mit Where In und Variable

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Problem mit Where In und Variable

    Hallo,

    ich habe ein DataSet welches an eine MySQL Datenbank gebunden ist. In einem (gebundenen) TableAdapter habe ich folgende Abfrage eingefügt:

    SQL-Abfrage

    1. SELECT * FROM viewBaSubAuswahl Where AuswahlFilter = 0 And IDSubRahmenvertrag In (@varSubRahmenvertrag)



    Nun will ich im Formular die Daten abrufen:

    VB.NET-Quellcode

    1. Me.ViewBaSubAuswahlTableAdapter.FillByFilterRahmenvertrag(Me.DbLeiKaDataSet.viewBaSubAuswahl, strBaSubAuswahlID)


    In der String-Variable strBaSubAuswahlID sind mehrere IDs durch Komma getrennt aufgeführt, z.B. 2,5,13. Alle dort aufgeführten IDs sind auf jeden Fall in der oben erwähnten Abfrage enthalten. Ich bekomme aber immer nur den Datensatz der ersten ID in der Variable zurück.
    Hat jemand von euch eine Idee woran es liegen könnte?

    Gruß, AndPod

    Edit: Ich vermute es liegt an der Variable in der Abfrage. Als Integer kann ich sie nicht deklarieren, da mehrere Werte kommen können. Als String, wie sie aktuell deklariert ist, ist es wohl auch falsch.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „AndPod“ ()

    mir scheint, was du als Abfrage an die Db absetzen möchtest, ist etwas wie.

    SQL-Abfrage

    1. SELECT * FROM viewBaSubAuswahl Where AuswahlFilter = 0 And IDSubRahmenvertrag In (@var1, @var2, @var3, @var4, @var5)
    Tja - ich wüsste nicht, wie man sowas in einem generierten TableAdapter als Abfrage anlegen könnte - dazu ist glaub der Dataset-Designer zu doof.
    Was der Designer "codet" ist ja immer ein fester CommandText-String - aber was du brauchst, wäre ja immer ein verschiedener CommandText.