2017-05-30 96 views
0

这里是我与整数值绑定的Sqlite查询:绑定值SQLite不匹配错误

Id是表中的整数类型。

SELECT Id, FName,SortString, 1 as OrderStr 
FROM CTable 
WHERE ? = Id AND SortString glob '[A-Z]*'  
UNION 
SELECT Id, FName,SortString, 2 as OrderStr 
FROM CTable 
WHERE ? = Id AND SortString NOT glob '[A-Z]*' 
ORDER BY OrderStr, FName DESC LIMIT ? OFFSET ? 

sqlite3_stmt * c_list_x = NULL; sqlite3_prepare_v2成功。现在,当我绑定如下:

int Id = 1; 

sqlite3_bind_int(c_list_x ,1, Id); 
sqlite3_bind_int(c_list_x ,2, Id); 

int result = sqlite3_step(c_list_x);

结果是20(SQLite的不匹配:数据类型不匹配)

为什么我甚结合整数值后得到这个?
任何人都可以帮我得到我想要的结果吗?

+0

你为什么要比较一个整数字符串? –

+0

@GordonLinoff我没有得到你。我在哪里比较字符串到Int? –

+0

我甚至试过铸造:sqlite3_bind_int(c_list_x,1,static_cast (Id));但没有运气。 –

回答

0

已解决!在结合过程中,LIMIT和OFFSET值被遗漏。 谢谢:)