select c 中来自 sqlite 数据库的多个项目
select multiple item from sqlite database in c
我正在尝试在 c 中查询 sqlite,
之前我成功打开并向数据库中插入了一些项目(return SQLITE_OK),当我查询总数据时("SELECT * FROM TRANS_TABLE ...")我可以成功检索我插入的数据但是当我尝试查询时一个特定的项目,我没有收到任何数据,我的代码有什么问题吗?
sql = "SELECT * FROM TRANS_TABLE WHERE F11_STAN = ?";
cmdStat = sqlite3_prepare_v2(db, sql, -1, &res, 0);
if (cmdStat == SQLITE_OK)
{
sqlite3_bind_text( res, 1,( char *)f11, strlen(( char *)f11), 0);
}
else
{
netLogMsg(( uint8_t*)sqlite3_errmsg(db));
return ;
}
int step = sqlite3_step(res);
if (step == SQLITE_ROW)
{
netLogMsg(( uint8_t *)sqlite3_column_text(res, 0));
netLogMsg(( uint8_t *)sqlite3_column_text(res, 1));
}
else if (step == SQLITE_DONE)
{
//this line is executed !
netLogMsg(( uint8_t *)sqlite3_errmsg(db));
}
memcpy( f11, sqlite3_column_text(res, 1), strlen(( const char *)sqlite3_column_text(res, 1)));
sqlite3_finalize(res);
尝试将 id 绑定到准备好的语句:
sql = "SELECT * FROM TRANS_TABLE WHERE F11_STAN = ?1";
cmdStat = sqlite3_prepare_v2(db, sql, -1, &res, 0);
sqlite3_bind_int(res, 1, 5);
我正在尝试在 c 中查询 sqlite, 之前我成功打开并向数据库中插入了一些项目(return SQLITE_OK),当我查询总数据时("SELECT * FROM TRANS_TABLE ...")我可以成功检索我插入的数据但是当我尝试查询时一个特定的项目,我没有收到任何数据,我的代码有什么问题吗?
sql = "SELECT * FROM TRANS_TABLE WHERE F11_STAN = ?";
cmdStat = sqlite3_prepare_v2(db, sql, -1, &res, 0);
if (cmdStat == SQLITE_OK)
{
sqlite3_bind_text( res, 1,( char *)f11, strlen(( char *)f11), 0);
}
else
{
netLogMsg(( uint8_t*)sqlite3_errmsg(db));
return ;
}
int step = sqlite3_step(res);
if (step == SQLITE_ROW)
{
netLogMsg(( uint8_t *)sqlite3_column_text(res, 0));
netLogMsg(( uint8_t *)sqlite3_column_text(res, 1));
}
else if (step == SQLITE_DONE)
{
//this line is executed !
netLogMsg(( uint8_t *)sqlite3_errmsg(db));
}
memcpy( f11, sqlite3_column_text(res, 1), strlen(( const char *)sqlite3_column_text(res, 1)));
sqlite3_finalize(res);
尝试将 id 绑定到准备好的语句:
sql = "SELECT * FROM TRANS_TABLE WHERE F11_STAN = ?1";
cmdStat = sqlite3_prepare_v2(db, sql, -1, &res, 0);
sqlite3_bind_int(res, 1, 5);