Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Guten Tag an alle,
befasse mich seit kurzer Zeit mit dem Thema Datenbanken und verwende dazu das Labview Databse Connectivity Toolkit.
Bin jetzt auf ein kleines Problem gestossen: Ich mache eine Select und hole mir Daten aus der DB. Nun muesste ich aber wissen wieviele Werte mir diese Select zurückgibt (record count), um die Anzahl der Schleifendurchläufe zu definieren.
Habe versucht die Eigenschaft record count des Vi´s "Db Tools Get Properties" zu verwenden, die cursor zu ändern (dynamic,static usw), aber leider ohne Erfolg. Bekomme immer -1 zurück. Ich weiss jetzt nicht on das wegen meiner Db "Mysql" oder an der ODBC verbindung liegt aber es funktioniert nicht.
Mir ist natürlich bewusst dass ich eine separate Select mit (Select count(*).....) ausführen kann um die Anzahl der records zu erhalten, aber diese Löosung ist vielaufwendiger und nicht "elegant".
Also bitte wenn mir jemand weiter helfen kann..
Vielen dank
Anzeige
18.03.2013, 11:10 (Dieser Beitrag wurde zuletzt bearbeitet: 18.03.2013 11:12 von Clyde.)
das Select-VI hat doch einen data-Ausgang mit dem Datentypen 2D-Array of Variant.
Die Anzahl der erhaltenen Werte kannst du doch einfach über die Größe dieses Array überprüfen, oder habe ich dich falsch verstanden?
Hallo Clyde,
danke für die schnelle Antwort.
Ich verwende aber nicht das Selcet Vi sondern das Execute Query um dann die einzelnen records "fetchen" zu können. Oder kann man mit einer Select Vi auch die einzelenen records durchlaufen???
Vielen Dank,
montanaro
18.03.2013, 11:51 (Dieser Beitrag wurde zuletzt bearbeitet: 18.03.2013 11:53 von jg.)
Dankeschön Jg.
Konnte zwar durch deine Lösung die Anzahl der records erhalten, aber nun funktioniert aber der restliche, schon zuvor programmierte Teil, nicht mehr. (Da verwende ich Fetch element).
ich mach also Db "DB Execute" (füre Select aus)--> "Fetch Recordset" (Erhalte anzahl der werte) --> "Fetch Element" (und hier durchlaufte ich zuvor die Recodsets)
Mein Problem ist dass ich noch keine gute Dokumentation über Das Toolkit gefunden habe und somit bin ich noch ziemlich verwirrt
Sollte ich das mit fetch elemt vergessen und mit dem Array des fetch recodset arbeiten??? Wo finde ich sinvolle Beispuiele dazu???
Vielen Dank,
montanaro
(18.03.2013 12:21 )montanaro schrieb: Sollte ich das mit fetch elemt vergessen und mit dem Array des fetch recodset arbeiten???
IMHO JA! Du bekommst alles, was du willst, als 2D-Array in einem Aufwasch zurück. Wieso jedes Element einzeln abfragen, und das auch noch über die ADO-DB API?
Über die Wandlung in das richtige LabVIEW-Datenformat kannst du dich in LabVIEW kümmern.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------