2011-12-06 24 views
0
productName = @"'Fidelity Bonds',Property'"; 
    regionName = @"'London',Paris',Tokyo'"; 
    yearName = @"'2007',2010'"; 

    sqlite3 *database; 
    const char *sqlStatement; 
    sqlite3_stmt *compiledStatement; 
    [self setPathForDatabase]; 

    if(sqlite3_open([storePath UTF8String], &database) == SQLITE_OK) 
    {   

     sqlStatement = "Select * from PorfolioPerformanceCPR where product_name IN (?) and region_name IN (?) and year_name IN (?) group by channel_name"; 

     if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) 
     {   
       sqlite3_bind_text(compiledStatement, 1, [productName UTF8String], -1, SQLITE_TRANSIENT); 
       sqlite3_bind_text(compiledStatement, 2, [regionName UTF8String], -1, SQLITE_TRANSIENT); 
       sqlite3_bind_text(compiledStatement, 3, [yearName UTF8String], -1, SQLITE_TRANSIENT); 
     } 

問題:當我在字符串productName,regionName和yearName中插入多個值時,代碼不起作用。需要幫忙。Sqlite3綁定文本:傳遞字符串中的兩個值不起作用。

+0

http://stackoverflow.com/questions/4788724/sqlite-bind-list-of-values-to-where-col-in-prm –

回答

0

看起來對我來說有可能是您的productNameregionNameyearName串內的一個引號一個問題:

productName = @"'Fidelity Bonds',Property'"; 
regionName = @"'London',Paris',Tokyo'"; 
yearName = @"'2007',2010'"; 

你試過:

productName = @"'Fidelity Bonds','Property'"; 
regionName = @"'London','Paris','Tokyo'"; 
yearName = @"'2007','2010'"; 
+0

我試過,但仍然無法正常工作。 – sameet

+0

檢查Evgeniy Shurakov發佈的鏈接,我相信你應該在那裏找到你的答案。 – Mutix

相關問題