读书人

VS2003下Sqlite3的like模糊查询不返回

发布时间: 2012-02-16 21:30:36 作者: rapoo

VS2003下Sqlite3的like模糊查询不返回结果
RT
代码如下,address是传入参数,code是传出参数;
Unicode编码

int CMainFrame::GetPostCode(TCHAR *address, TCHAR* code)
{
TCHAR query[MAX_PATH] = {0};
_tcscpy(query, _T("select CODE from county_code_3 where DISTRICT like '"));
_tcscat(query, address);
_tcscat(query, _T("';"));

int i = _tcslen(query);
result = sqlite3_prepare16(_test_db, query, i, &stmt, NULL);
if( result != SQLITE_OK )
{
MessageBox((TCHAR *)sqlite3_errmsg16(_test_db), _T("Result"), MB_OK);
return -1;
}

result = sqlite3_step(stmt);
if( (result != SQLITE_OK) && (result != SQLITE_DONE) && (result != SQLITE_ROW) )
{
MessageBox((TCHAR *)sqlite3_errmsg16(_test_db), _T("Result"), MB_OK);
return -2;
}

while( result == SQLITE_ROW )
{
_tcscat(code, (TCHAR *)sqlite3_column_text16(stmt,0));
_tcscat(code, _T("\n"));
result = sqlite3_step(stmt);
}
return 0;
}

[解决办法]
select CODE from county_code_3 where DISTRICT like '%XXX%';


你是不是忘了加这个 % 通配符? like 'XXX' 等同于 ='XXX'

读书人网 >其他数据库

热点推荐