The setBinary() method takes two arguments, the unsigned char * the size of the blob as a size_t.
You're expected to cast your structure into an unsigned char *, because in C/C++, the only portable way to represent a byte is with a char/unsigned char. And really, what is your structure but a sequence of bytes? So, for example: struct intDouble myIntDouble; myIntDouble.x = 1; myIntDouble.y = 2; CppSQLiteBinary blob; blob.setBinary((unsigned char *) myIntDouble, sizeof(struct intDouble)); SQLite is really no different than many other SQL databases in this respect, and I think you would be better off picking up a book on SQL, walking through a tutorial on SQL, and SQL database usage, learning about indexes, datatypes, blobs, transactions, etc. This mailing list can certainly answer questions about SQLite, how it's different than other databases, and how to use SQLite specifically. But this mailing list probably isn't going to do a good job at showing you how to use a SQL database in general. Cheers, Wilson