DB access using ODBC: SQLBindCol
-
Hallo,
ich bin dabei, eine Datenbank über ODBC-API auszulesen, allerdings bin ich auf einen Sonderfall gestoßen, bei dem mein Programm nicht funktioniert.
Im Moment gehe ich - grob gefasst - folgendermaßen vor (die Namen der Funktionen sind selbsterklärend):SQLconnect (SQLAllocHandle) SQLBindCol // binde die angelegten Buffer an die Felder im result set SQLExecute SQLNumResultCols // ermittle die Anzahl der Felder im result set SQLFetch
Soweit so gut. Solange der SQL-Befehl Namen der Felder enthält, kann ich ihm die Anzahl der Buffer (Felder) für die Daten entnehmen, d.h. voraussagen, wie viele Felder es im result set geben wird. Sobald aber alle Felder ausgewählt werden, sprich der Befehl lautet
"SELECT * FROM ....."
, weiß ich nicht, wie viele Buffer ich anlegen und binden soll, weilSQLBindCol()
vorSQLNumResultCols()
ausgeführt werden muss. Die Frage ist hier also, wie kann ich die Anzahl der Felder in so einem Fall herausbekommen?
Danke!
-
Hmm... Brauchst du das? Wenn ich mich recht erinnere, benutzen wir das in unserem Code auch. Hab den aber nicht zur Hand, kann also grad nicht nachschauen. Hab jetzt aber in die Qt Implementierung geschaut und die benutzen SQLBindCol überhaupt nicht.