Ich habe nicht C geschrieben und schreibe eine Anwendung mit der MySQL C-API, in g ++ auf Redhat kompilieren.int Problem in g ++/mysql/redhat
So starten ich einige Felder mit printfs Ausgeben ... das Orakel api verwenden, mit PRO * C, das ich verwende verwendet (auf suse, vor Jahren), ich könnte einen int auswählen und ausgeben als:
Ich habe versucht, das mit mysql ints zu tun und ich habe 8 Zufallszahlen angezeigt ... ich dachte, das war ein mysql-api-Problem und ein config-Problem mit meinem Server, und ich verschwendete ein paar Stunden, um es zu beheben, aber konnte nicht, und festgestellt, dass ich tun konnte:
int some_int; printf("%s",some_int);
und es würde die ganze Zahl richtig ausdrucken. Weil ich keine Berechnungen über die Werte mache, die ich extrahiere, fand ich das eine gute Lösung.
bis ich einige Dinge ....
hat zu zählen TRIEDich ein einfaches:
int rowcount; for([stmt]){ rowcount++; } printf("%i",rowcount);
i wieder eine 8-stellige Zufallszahl immer bin ... Ich konnte nicht herausfinden, was Der Deal ist mit Ints auf dieser Maschine.
dann erkannte ich, dass, wenn ich den Int auf Null initialisieren, dann bekomme ich eine richtige Zahl.
kann mir bitte jemand erklären unter welchen bedingungen sie initialize auf null initialisieren müssen? Ich erinnere mich nicht, dies jedes Mal in meiner alten Codebasis zu tun, und ich sah es nicht in dem Beispiel, dass ich meine mysql_stmt-Code von modellierte
Ist da etwas, was ich vermisse? auch ist es durchaus möglich, die ich vergessen habe dies jedes Mal erforderlich ist
dank ...
Sie zeigen nicht den gesamten Code in diesem Fall an, fügen Sie bitte den Code, den Sie verwenden, um ein int aus der Datenbank auszuwählen, da Sie gerade gerade Mülldaten drucken. –