2014-09-18 3 views
1

Я пытаюсь написать программу для трапезной общежития. Я беру информацию у директора общежития, и данные, вероятно, будут такими же превосходными. Я могу преобразовать этот csv, db или что-то в этом роде.Как я могу просто прочитать из базы данных для android

Но, например, если я создаю таблицу, в которой есть 30 столбцов, я должен писать их в коде по одному или я могу сделать это автоматически. Потому что я занимаюсь исследованиями в Интернете, и я всегда вижу, что они создают базу данных и читают ее в коде.

Например

public void onCreate(SQLiteDatabase db) { 
    String sql = "CREATE TABLE " + TABLE_COUNTRIES + "(id INTEGER PRIMARY KEY,country_name TEXT,country_code TEXT" + ")"; 

в этом коде, идентификатор COUNTRY_NAME и country_code написал с рукой. Если у нас больше столбцов, как я могу сделать это с легкостью.

+0

Вы могли бы дать http://ormlite.com/ или http://greendao-orm.com/ выстрел. – 2Dee

ответ

0

вы можете легко создать строку запроса с динамическим именем столбца. бывший

public String createQuery(String tablename,int colcount){ 
    String query = "CREATE TABLE " 
      + tablename + "(" ; 

    for(int i=0;i<colcount;i++){ 

     if(i==colcount-1){ 
      query+= "COL"+i+" TEXT);"; 
     }else{ 
      query+= "COL"+i+" TEXT,"; 
     } 


    } 

    return query; 
} 

теперь вы можете execte запрос по db.execSQL (CreateQuery ("ПРОДУКТ", 10));

0

Вы можете назвать столбцы как col1, col2 .. и т.д .. для этого и может генерировать SQL, используя

String sql = "CREATE TABLE " + TABLE_COUNTRIES + "(id INTEGER PRIMARY KEY,country_name TEXT,country_code TEXT"; 

//change the **limit** as per ur needs 
for(int i=1;i<=10;i++){ 
    //change the datatype from text to ur desired data type 
    sql += ", col" + String.valueOf(i) + " text "; 
} 
sql += ")"; 
+0

Вы записываете id, countr_name и country_code после "TABLE_COUNTRIES". Если у меня есть, например, 30 столбцов, я должен писать один за другим. – user3717742

+1

попробуйте назвать столбцы как col1, col2 и сгенерировать его с помощью инструкции looping или использовать любую ORM для ее генерации автоматически, иначе вам придется писать вручную: -/ – Panther

+0

ok, я получаю благодарность. – user3717742

Смежные вопросы