2013-04-29 25 views
-1

我有一个sqlite3数据库的两列数据。我在我base.It word.How可以通过字的阵列的字符串效果很好数据执行查询,以通过以下(字[I])来gettestdata到数据库传递数组字符串gettestdata

public Cursor getTestData(word) 
{ 
    try 
    { 


     String sql ="SELECT suggest_text_2 FROm FTSdictionary WHERE suggest_text_1='"+word+"'"; 

     Log.v("Query",sql); 

     Cursor mCur = mDb.rawQuery(sql, null); 
     if (mCur!=null) 
     { 
      mCur.moveToNext(); 
     } 
     return mCur; 
    } 
    catch (SQLException mSQLException) 
    { 
     Log.e(TAG, "getTestData >>"+ mSQLException.toString()); 
     throw mSQLException; 
    } 
} 

回答

1

可以使用SQL查询执行查询像这样:

String mQuery = ""; 
for (int i = 0; i < words.length; i++) { 
    mQuery.length() < 1 ? mQuery += "'" + words[i] + "'" : mQuery += ", '"+ words[i] + "'"; 
} 
String sql ="SELECT suggest_text_2 FROm FTSdictionary WHERE suggest_text_1 in ('"+ mQuery +"')"; 

我还没有测试过,但它应该工作。

+0

谢谢Vipul。我对java.Can非常陌生,请告诉我一个简单的方法,在数组[words]上编写for循环。并相应地传递它。 – user2295369 2013-04-29 13:47:42

+0

@ Vipul。它说mQuery.length不能解析为变量。 – user2295369 2013-04-29 14:47:53