2011-06-30 28 views
0

sqlite3_prepare_v2に渡すクエリを作成する必要があります。目的c sqlite3_prepare_v2に渡す動的クエリを作成

クエリは動的でなければならず、少なくとも1つのフィールドで少なくとも1つの検索フィルタを含むすべてのレコードを取得できるようにする必要があります。例えば

: -fieldsをf1あり、f2の -filtersは私が動的に作成する必要がSF1、SF2

です: どこF1 '%SF1の%' または '%のSF2の%' またはF2のようなF1のような'%SF1%'または '%sf2%'のようなf2

私が記述したコードを表示できますか?

ご回答いただきありがとうございます。

答えて

0
selectStmt = nil; 

NSString strParam1 = @"%SF1%"; 
NSString strParam2 = @"%SF2%"; 

const char *selectSql; 

//prepare select statement 
if(sqlite3_prepare_v2(database, sqlStatement, -1, &selectStmt, NULL) == SQLITE_OK) 
{ 
//Bind your parameter 
sqlite3_bind_text(selectStmt, 1, [strParam1 UTF8String], -1, SQLITE_TRANSIENT); 
sqlite3_bind_text(selectStmt, 2, [strParam2 UTF8String], -1, SQLITE_TRANSIENT); 

    while(sqlite3_step(selectStmt) == SQLITE_ROW) 
    { 
     //Read your values from database 
     NSString *f1Value = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectStmt, 0)]; 
     NSString *f2Value = [NSString stringWithUTF8String:(char *)sqlite3_column_text(selectStmt, 1)]; 

    } 
} 
+0

おかげで、私nsmutablestringsを連結することによって解決して、私がやった: のchar * myqueryという= [mynsmutablestring UTF8Stringを] sqlite3_bindの使用が最良の方法ですか? – longy

+0

それはあなたを助けてくれてうれしいです。 –

関連する問題