Android Sqlite запрос - PullRequest
       4

Android Sqlite запрос

1 голос
/ 29 июля 2011

Мое требование - когда я передаю какой-то параметр, необходимо отправить объект.не список.

Я написал код:

 public RDExecutive getExecutiveObject(String executivename){
     DBAdapter dbAdapter = DBAdapter.getDBAdapterInstance(this);
     dbAdapter.openDataBase();
     System.out.println( " ---- executivename --- " + executivename);
     String query="SELECT * FROM RDExecutive WHERE ExecutiveName = ?';";
     String[]d = new String[]{executivename};
     ArrayList stringList = dbAdapter.selectRecordsFromDBList(query, d);

     dbAdapter.close();

     ArrayList<Object> rdExecutiveObject = new ArrayList<Object>();
     RDExecutive rdExecutive = new RDExecutive();
     System.out.println( " -- stringList.size() -- " + stringList.size());

     for (int i = 0; i < stringList.size(); i++) {
        ArrayList<Object> arrayList2 = (ArrayList<Object>) stringList.get(i);
        ArrayList<Object> arrayList = arrayList2;
        ArrayList<Object> list = arrayList;

        try {
            rdExecutive.setBusinessUnit((String) list.get(0));
            rdExecutive.setExecutiveCode((String) list.get(1));
            rdExecutive.setExecutiveName((String) list.get(2));
            rdExecutive.setTerritoryCode((String) list.get(10));

        } catch (Exception e) {
            Log.i("***" + SalesRouteActivity.class.toString(), e.getMessage());
        }
        rdExecutiveObject.add(rdExecutive);
    }
    return rdExecutive;
}

Этот метод возвращает объект RDExecutive.

При выполнении этой части я получил ошибку

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xont.controller/com.xont.controller.DownlaodTableActivity}: 

android.database.sqlite.SQLiteException: unrecognized token: "';": , while compiling: 
SELECT * FROM RDExecutive WHERE ExecutiveName = ?';

Как мы хотим передать параметр в запрос.

Ответы [ 2 ]

1 голос
/ 29 июля 2011

Вам не нужна точка с запятой (";")

String query="SELECT * FROM RDExecutive WHERE ExecutiveName = ?'";

должно быть хорошо

0 голосов
/ 16 января 2012

У вас ошибка синтаксиса SQL.Вам нужно удалить одну цитату, т.е.

 // This line has the error:
 String query="SELECT * FROM RDExecutive WHERE ExecutiveName = ?';";

 // This is the same line with the error fixed:
 String query="SELECT * FROM RDExecutive WHERE ExecutiveName = ?;";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...