2017-05-30 14 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値が失われました。 ありがとう:)

関連する問題