一片冰心在玉壶

那时我们有梦,关于文学,关于爱情,关于穿越世界的旅行, 如今我们深夜饮酒,杯子碰到一起,都是梦破碎的声音. 交往都是初逢,爱情都在心里,往事都在梦中, 希望都带着注释,信仰都带着呻吟. 总有善意的光逃避现世的繁琐而寻找片刻的安宁, 也许,就是你凝视这里的眼睛

博客园 首页 联系 订阅 管理

现象:删除数据的时候只有先查看过数据就会出现删除失败。跟网上说的事务上锁是有关系的。。  

昨天忙活了一天,慢天的找原因。。。

 

代码
    sqlite3_stmt *stat;//写二进制数据时要用的结构

    
char sqlstr[100];
    CString strSQL;
    strSQL
="select * from sample where name like '";
    strSQL
+=strFile;
    strSQL
+="';";
    
int   nLength=strSQL.GetLength(); 
    TCHAR  
*sz=new   TCHAR[nLength+1]; 
    sz
=strSQL.GetBuffer(nLength);
    strSQL.ReleaseBuffer();
    WideCharToMultiByte( CP_ACP, 
0, sz, -1, sqlstr, 100, NULL, NULL );

    sqlite3_prepare(sqlite
->db,sqlstr, -1&stat, 0); 
    sqlite3_step(stat); 
    
    
const void * test = sqlite3_column_blob(stat, 3); 
    
//得到字段中数据的长度 
    
//拷贝该字段 
    memcpy(&SampData,test,788);

 

最后加上这个就好了:

 

  sqlite3_finalize( stat );

sqlite提供的代码还是比较好的!!!!

posted on 2010-12-21 15:56  Sankye  阅读(2972)  评论(0编辑  收藏  举报