【原创】sqlite线程安全实验【chad20130201】

【原创】sqlite线程安全实验【chad20130201】

编译sqlite时使用默认配置,启用了线程安全设置。

实验程序如下:

int Query_db( char* db_file_name )
{
    printf("in %s\n",__FUNCTION__);
    int    ret;
    sqlite3_stmt    *pstmt = NULL;
    char    *errMsg = NULL;
    char    *sql = "SELECT * FROM MonthFreezeTable WHERE id<500;";//查询表中有多少列
    int    id;
    STRUCT_TEST1    test_struct1;
    STRUCT_TEST2    test_struct2;

    memset(&test_struct1,0,sizeof(test_struct1));
    memset(&test_struct2,0,sizeof(test_struct2));

    ret = sqlite3_prepare(pdb, sql, strlen(sql), &pstmt, &errMsg);
     if( ret != SQLITE_OK )
    {
        printf("error code :%d,reason:%s\n",ret,errMsg);
        sqlite3_free( errMsg );
        return -1;
    }/*这一部分程序有问题*/
    while( 1 )
    {
        ret = sqlite3_step(pstmt);
        if( ret != SQLITE_ROW )
        {    break; }
        id = sqlite3_column_int(pstmt, 0);
        printf("id = %d ",id);
        usleep(10000);
    }
    sqlite3_finalize( pstmt ); //把刚才分配的内容析构掉
    sqlite3_reset( pstmt );

    return 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值