Frage

Ich habe eine MySQL-Abfrage, die ein Ergebnis mit einer einzelnen Spalte mit Ganzzahlen zurückgibt.Gibt es eine Möglichkeit, die MySQL-C-API dazu zu bringen, dies als tatsächliche Ganzzahlen und nicht als ASCII-Text zu übertragen?Gibt es übrigens eine Möglichkeit, MySQL dazu zu bringen, /irgendeine/ der API-Aufgaben anders als ASCII-Text auszuführen?Ich denke, das würde bei Sprintf/Sscanf oder was auch immer sonst verwendet wird, sowie bei der Bandbreite etwas Zeit sparen.

War es hilfreich?

Lösung

Um ehrlich zu sein, haben Sie wahrscheinlich kein Glück.Blick auf die MySQL-C-API (http://dev.mysql.com/doc/refman/5.0/en/mysql-fetch-row.html, http://dev.mysql.com/doc/refman/5.0/en/c-api-datatypes.html, schauen Sie sich MYSQL_ROW an) es scheint keinen Mechanismus zu geben, um Daten in ihrem tatsächlichen Typ zurückzugeben ...die Freuden der Verwendung von Strukturen, denke ich.

Sie können jederzeit einen Wrapper implementieren, der das Typattribut von MYSQL_ROW prüft (http://dev.mysql.com/doc/refman/5.0/en/c-api-datatypes.html) und gibt eine C-Union zurück, aber das ist wahrscheinlich ein schlechter Rat;Tu das nicht.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top