|
我用linux c 编写SQLITE3数据库程序,想把一个结构体数据 以二进制的方式写入到数据库中去,但是写入后数据库中的数据为空值,什么也没有。我后来把一个文件以二进制的方式写入数据库,写入后数据库里面正常显示。故此,不知怎么解决,这个sqlite3是不是和版本有关,还是它二进制存的有问题。代码如下:其中test是一个结构体数据
typedef struct te
{
int a;
int b;
char c[4];
char d[4];
}T;
T test;
test.a=10;
test.b=9;
strcpy(test.c,"okl");
strcpy(test.d,"kkk");
sqlite3_open("test.dat",&db);
sqlite3_prepare(db,"insert into tb_test(ID,content) values(?,?);",-1,&pstmt,0);
sqlite3_bind_text(pstmt,1,"GY",2,NULL);
sqlite3_bind_blob(pstmt,2,&test,sizeof(T),NULL);
sqlite3_step(pstmt);
sqlite3_finalize(pstmt);
sqlite3_close(db); |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|