当前位置: 代码迷 >> 其他数据库 >> VS2003下Sqlite3的like模糊查询不返回结果解决方法
  详细解决方案

VS2003下Sqlite3的like模糊查询不返回结果解决方法

热度:7491   发布时间:2013-02-26 00:00:00.0
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'
  相关解决方案