私はsqlliteデータベースからデータを取得しようとしています。私は従業員用のテーブルを持っています。従業員データを従業員名で取得する必要があります。その後、SQLLiteで検索するandroid java not work
public List getEmpdat(String empname) {
final String TABLE_NAME = "Employee";
String selectQuery = "SELECT * FROM Employee where EmployeeName="+empname;
SQLiteDatabase db = this.getReadableDatabase();
List<String> li = new ArrayList<String>();
Cursor cursor = db.rawQuery(selectQuery, null);
String[] data = null;
// String name =null;
if (cursor.moveToFirst()) {
do {
String name=cursor.getString(2);
String notes=cursor.getString(3);
String strdate=cursor.getString(4);
if(strdate==null)
strdate = "0";
String gate=cursor.getString(6);
if(gate==null)
gate = "0";
String enddate=cursor.getString(5);
if(enddate==null)
enddate = "0";
li.add(name);
li.add(notes);
li.add(strdate);
li.add(enddate);
li.add(gate);
// get the data into array, or class variable
} while (cursor.moveToNext());
}
cursor.close();
return li;
}
と、このような検索の活動でそれを呼び出す:
db=new DataBaseHelper(this);
data = (GridView) findViewById(R.id.gridView);
List<String> li = new ArrayList<String>();
li = db.getEmpdat(editName.getText().toString());
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, li);
dataAdapter.setDropDownViewResource(R.layout.activity_search);
dataAdapter = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_spinner_item, li);
data.setAdapter(dataAdapter);
が、logcatから問題が起きている問題は 「java.lang.RuntimeExceptionありますされています。活動ComponentInfo {com.example.university.newapp/com.example.university.newapp.SearchActivityを開始することができません}:android.database.sqlite.SQLiteException:近い "=":構文エラー(コード1):、コンパイル中:SELECT * FROM社員どこEmployeeName = "いずれかがこの問題にヘルプを提供することができます ください
文字列の値は常にrawqueryで ''必要です。selectQuery = "SELECT * FROM Employee where EmployeeName = '" + empname + "'"; – Pavan