从C中的sqlite3获取数据

时间:2015-10-14 20:49:05

标签: c sqlite

我正在创建一个将msgs保存到数据库中的服务器(sqlite3),然后将它们发送给一些客户端。问题是如何从数据库中获取数据,顺便说一下我是C中的sqlite3 API的新手,这里是我有一部分代码:

snprintf( commands, 256, "SELECT Msg FROM %s WHERE timeStamp BETWEEN %ld AND %ld;",
        sn, ( serverTime - diff->tv_sec ), serverTime );

rc = sqlite3_prepare_v2( db, commands, -1, &res, 0 );

while( sqlite3_step( res ) == SQLITE_ROW )
{

    // ????????

}

我有一个包含3列用户名的表:“Id INTEGER PRIMARY KEY,timeStamp INT,Msg TEXT”

我想从客户端获取服务器时间和最后一次连接的差异(serverTime - diff-> tv_sec)

1 个答案:

答案 0 :(得分:0)

因为“Msg”是TEXT。所以在while循环中你可以调用“sqlite3_column_text()”

while( sqlite3_step( res ) == SQLITE_ROW )
{
   const char *msg = sqlite3_column_text(res, 0);
   //Use msg
}

要获得正确的结果,请确保commands即您的SQL查询正确。