Android Where子句中的SQLite选择参数

Android Where子句中的SQLite选择参数,android,sqlite,Android,Sqlite,我正在向Android应用程序中的DBHelper类发送以下查询: Cursor c = null; String tempLastName=lnameText.getText().toString(); String tempFirstName=fnameText.getText().toString(); c=myDbHelper.getProvider(tempLastName.toString(),tempFirstName.toString()); 在getProvider方法的DB

我正在向Android应用程序中的DBHelper类发送以下查询:

Cursor c = null;
String tempLastName=lnameText.getText().toString();
String tempFirstName=fnameText.getText().toString();
c=myDbHelper.getProvider(tempLastName.toString(),tempFirstName.toString());
在getProvider方法的DBHelper类中,我有以下代码:

public Cursor getProvider(String lname,String fname) throws SQLException {
String tempSearchStr=KEY1_LASTNAME+"='lname'"+"AND"+KEY1_FIRSTNAME+"='fname'";
String sql="Select * from ProvidersSummary Where LastName='lname' AND Where FirstName='fname'";
Cursor mCursor=myDataBase.rawQuery("Select * from ProvidersSummary Where LastName='lname' AND  FirstName='fname'",null);

if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
如果我只传递lname字符串,我将从DB返回一条记录,但是,当同时发送lname和fname时,我不会得到一条记录

我认为这是一种有字符串的东西,但我只是在尝试了每一种组合后才能弄明白

感谢您的帮助或指点

public Cursor getProvider(String lname,String fname) throws SQLException {
    String tempSearchStr=KEY1_LASTNAME+"='lname'"+"AND"+KEY1_FIRSTNAME+"='fname'";
    String sql="Select * from ProvidersSummary Where LastName='lname' AND Where FirstName='fname'";
    Cursor mCursor=myDataBase.rawQuery("Select * from ProvidersSummary Where LastName='lname' AND  FirstName='fname'",null);
首先,在这里删除tempSearchStr和sql。它们未被使用,并且存在语法问题

其次,将参数值传递给查询,而不是逐字查询fname和lname。将查询更改为:

Cursor mCursor=myDataBase.rawQuery("Select * from ProvidersSummary Where LastName=? AND  FirstName=?", new String[] { lname, fname });