LabVIEWForum.de
Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden (/Thread-Inhalt-eines-1-D-Arrays-in-eine-SQL-Abfrage-einbinden)



Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - Andreas-S - 15.05.2010 15:15

Hallo zusammen,

ich habe noch ein kleines Problem zwecks der SQL-Abfrage.

Vielleicht kann mir jemand sagen, ob und wie man den Inhalt eines 1-D Array (bestehend aus ID's in String konvertiert) eine eine SQL-Abfrage einbinden kann, um somit die Übereinstimmungen mit einer in Access angelegten Tabelle anzeigen zu lassen.

Hab mal einen Teil meines Programms dargestellt. Der Teil filtert mir die doppelten ID's aus und schreibt mir die restlichen ID's in das Array Übereinstimmungen, das ich in meine Abfrage benötige.

[attachment=26447]

Lv09_img2

Vielleicht hat ja jemand eine Idee, wie man besten lösen kann.

Vielen Dank schon mal.


Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - Y-P - 17.05.2010 06:30

Ich blicke noch nicht so ganz, was Du möchtest.

Gruß Markus


Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - SeBa - 17.05.2010 07:27

Schreib doch mal auf, was in "Übereinstimmungen" drin steht und wo du es in der SQL Abfrage sehen willst.

Da der SQL Befehl ja nur ein Text ist, musst du das Array einfach in eine Zeile packen.


Gruß SeBa


Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - Andreas-S - 17.05.2010 11:27

Hallo SeBa,

hab mal das Array Übereinstimmungen angefügt, vielleicht wirds ja dann ein bisschen klarer.

[attachment=26478]


Ich will eigentlich nur die ID's aus meiner Datenbank anzeigen lassen, die mit dem Inhalt des Arrays Übereinstimmungen gleich sind. Hinter jeder ID steckt ein Produkt, das mir somit angezeigt wird.

Ich weiss leider nicht, wie ich in die SQL-Abfrage das Array einfügen muss.


Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - SeBa - 17.05.2010 12:00

Zwei Beispiel Querys:

[attachment=26481]
[attachment=26482]


Um von deinem Array jetzt zu der WHERE Bedingung zu kommen, kannst du ein bischen mit der Forloop und der Stringpalette spielen.

Gruß SeBa


PS:

Wirklich hilfreich wäre es gewesen, wenn du den gewünschten Query einfach mal gepostet hättest.
Wenn du allerdings selbst nicht weißt, was oder wie du den SQL Server fragen willst/kannst... dann solltest du mal ein Buch zu SQL aufschlagen.


Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - Andreas-S - 17.05.2010 12:30

Hallo SeBa,

hab noch mal meine Abfrage angehängt.

[attachment=26485]

Da ich zwei Tabellen habe -- Artikelbestand mit den Spalten ArtikelNr, Produkt, Menge und Preis in €
-- ArtikelID mit den Spalten ID und ArtikelNr
habe ich die zwei Tabellen mit einem INNER JOIN miteinander verknüpft.

Mein Problem ist es noch das Array miteinzubinden, da der Inhalt des Arrays sich verändert und nicht konstant ist.


Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - SeBa - 17.05.2010 12:44

Wie gesagt:

Forloop und Stringpalette...


Bringt einen jetzt echt nicht um Wink

[attachment=26489]



Gruß SeBa


Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - Andreas-S - 17.05.2010 12:48

Super vielen Dank

werds mal ausprobieren.

Danke nochmal


Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - cb - 18.05.2010 07:28

das was du machen möchtest geht nur bedingt. Man kann in einem SQL Statement keine Arrays verarbeiten, schon gar nicht in Access. Auf einem MS-SQL Server könnte man sich eine Stored Procedure schreiben, die ein Array verarbeitet, allerdings kann man da auch kein Array direkt übergeben sondern muss das über einen Umweg realisieren

Was du aber machen könntest ist die IDs mit OR verknüpfen, also

Code:
SELECT spaltenname FROM tabellenname WHERE id_spalte=1 OR id_spalte=5 OR id_spalte=17 OR undsoweiter

oder du verwendest den Listen-Operator "IN":

Code:
SELECT spaltenname FROM tabellenname WHERE id_spalte In (1,5,7,24,usw)

wobei ich mir aber grad auch nicht sicher bin ob Access den unterstützt ....


Inhalt eines 1-D Arrays in eine SQL-Abfrage einbinden - Andreas-S - 18.05.2010 15:30

Habs soweit hingebracht.

Vielen Dank nochmal an alle

Gruß Andreas