2009-07-13 4 views
1

Ich versuchte setBlob() zu verwenden, wie folgt:Set Binärdaten setblob in MySQL Connector/C++ Absturz verursacht


class DataBuf : public streambuf 
{ 
public: 
    DataBuf(char * d, size_t s) { 
     setg(d, d, d + s); 
    } 
}; 


char b[20]; 
DataBuf buffer((char*)b, 20); 
istream stream(&buffer); 

PreparedStatement* s = con->PrepareStatement("insert into mytable (mybin) values (?)"); 
s->setBlob(1, &stream); 
int rows = s->executeUpdate(); 

Das bei executeUpdate stürzt(). Was mache ich falsch?

+0

Ist es ein schwerer Absturz oder werden Fehlermeldungen angezeigt? Fängt der Debugger irgendetwas ein? –

Antwort

1

Sind Sie sicher, dass es nicht abstürzt auf ist:

s->setBlob(1, &stream); 

Überprüfen Sie den Debugger, um sicherzustellen, dass s nicht NULL ist, oder ein Mist Wert.

+0

Nein, ich gehe Zeile für Zeile weiter. Absturz auch im Nicht-Debug-Modus. –

Verwandte Themen