2016-12-17 8 views
0

私は与えられた手順に従っているデータベースを作成していますが、データを別々の列に挿入する必要があります。配列し、それらをデータベースに挿入する必要がありますか?はいの場合はどうやって?同じようにすることで、私は他のテーブルのデータと一致させる/検索します。テーブルが増えています。 どんな種類のヘルプ/提案も本当に感謝しています。モデルクラスを使用してsqliteテーブルにarrayListを保存する

テーブルに値を追加するようなものです:

public void addMidSemQuestions(MidSemQuestions midSemQuestions) 
{ 
    openWritable(); 
    m_sqLiteDatabase.beginTransaction(); 
    try { 
     ContentValues values = new ContentValues(); 
     values.put(KEY_SEM_ID, midSemQuestions.getId()); 
     values.put(KEY_SUBJECT, midSemQuestions.getSubject()); 
     values.put(KEY_QUESTION_ID, midSemQuestions.getQuestion_id()); 
     values.put(KEY_QUESTION, midSemQuestions.getQuestion()); 
     // Notice how we haven't specified the primary key. SQLite auto increments the primary key column. 
     m_sqLiteDatabase.insertOrThrow(MID_SEM_QUESTION_TABLE, null, values); 
     m_sqLiteDatabase.setTransactionSuccessful(); 
    }catch (Exception e) 
    { 
     Log.d(LOG,"Error while trying to add mid sem questions to database"); 
    }finally { 
     m_sqLiteDatabase.endTransaction(); 
    } 
} 

と私のモデルクラスのようなものです:

public class MidSemQuestions 
{ 
public int id; 
public int sem_id; 
public int sub_id; 
public int marks_id; 
public int question_id; 
public String subject; 
public String question; 

public MidSemQuestions() { 
} 

public MidSemQuestions(int sem_id, int sub_id, int marks_id, int question_id, String subject,String question) { 
    this.sem_id = sem_id; 
    this.sub_id = sub_id; 
    this.marks_id = marks_id; 
    this.question_id = question_id; 
    this.subject=subject; 
    this.question = question; 
} 

public String getSubject() { 
    return subject; 
} 

public void setSubject(String subject) { 
    this.subject = subject; 
} 

public int getSub_id() { 
    return sub_id; 
} 

public void setSub_id(int sub_id) { 
    this.sub_id = sub_id; 
} 

public int getSem_id() { 
    return sem_id; 
} 

public void setSem_id(int sem_id) { 
    this.sem_id = sem_id; 
} 

public int getMarks_id() { 
    return marks_id; 
} 

public void setMarks_id(int marks_id) { 
    this.marks_id = marks_id; 
} 

public int getQuestion_id() { 
    return question_id; 
} 

public void setQuestion_id(int question_id) { 
    this.question_id = question_id; 
} 

public String getQuestion() { 
    return question; 
} 

public void setQuestion(String question) { 
    this.question = question; 
} 

public int getId() { 
    return id; 
} 

public void setId(int id) { 
    this.id = id; 
} 

}

と私はそのためので、私はデータを入力する必要があります次のようにする:

public void prepareDatabase() 
{ 
    final CDataSource cDataSource= new CDataSource(this); 
    if(cDataSource.getMidSemQuestionCount()==0) 
    { 
     //sem_id=1,sub_id=1,marks=2, 
//que_id should be an array of 1 to 90, 
//subject must be an array of strings, 
//question also should be an array of strings 

     cDataSource.addMidSemQuestions(new MidSemQuestions(1,1,2,1,"C Programming","What are the data types?")); 

     //sem_id=1,sub_id=1,marks=5,que_id should be an array of 1 to 90,subject must be an array of strings,question also should be an array of strings 

     cDataSource.addMidSemQuestions(new MidSemQuestions(1,1,5,11,"C Programming","Difference b/w call by value?")); 

       //sem_id=1,sub_id=1,marks=10,que_id should be an array of 1 to 90,subject must be an array of strings,question also should be an array of strings 

     cDataSource.addMidSemQuestions(new MidSemQuestions(1,1,2,1,"C Programming","What are the data types?")); 
    } 

} 

答えて

0

モデルクラスを使用してデータベースに挿入する のすべての値を含むこのフィールドをarraylistしているとします。データベースに保存するため

List<String> sem_id=new ArrayList<>(); 
List<String> String sub_id=new ArrayList<>(); 
List<String> String marks_id=new ArrayList<>(); 
List<String> String question_id=new ArrayList<>(); 
List<String> Strubg subject=new ArrayList<>(); 
List<String> String question=new ArrayList<>(); 

、と仮定し、databasehelper.addData()は、データベース

for(int i=0;i<sem_id.size();i++{ 
    databasehelper.addData(new CDataSource(this).addMidSemQuestions(
    new MidSemQuestions(sub_id.get(i), 
    marks_id.get(i),question_id.get(i), 
    subject_id.get(i),question.get(i)))); 
} 

とデータベースの大量のデータから取得するためにデータを追加するために、データベース・オブジェクトで、データベースは リストに戻す必要がありますフォーマットは、

ここmidsemリストは、データベースからのすべての値を取得します

List<MidSemQuestions> midsem=new ArrayList<MidSemQuestions>(); 
midsem=database.getAllFieldsFromDatabase(); 

for(MidSemQuestions values:midsem){ 

    String sub_id=values.getSub_id(); 
    String sem_id=values.getSem_id(); 
    String marks_id=values.getMarks_id(); 
    String question_id=values.getQuestion_id(); 
    String subject_id=values.getSubject_id(); 
    String question=values.getQuestion(); 

//if you want array list then, put it in arraylist 
//or anything you like 

} 
関連する問題