2013-07-26 3 views
1

sqlite 데이터베이스에 여러 행을 삽입하려고합니다. SqliteOpenHelper 클래스를 만들고 데이터베이스와 테이블을 만들었습니다. 이제 데이터베이스에 여러 행을 삽입해야합니다.sqlite 데이터베이스에서 한 번에 여러 행 삽입

한 번에 5 개의 행을 삽입한다고 가정하면,이를 수행하는 가장 효율적인 방법은 무엇일까요?

INSERT INTO `events` (`_id`, `event_name`, `start_date`, `end_date`, `event_city`, `event_state`, `event_pic`, `event_desc`, `wiki_url`, `event_cat`) VALUES 
(1, 'Purna Kumbh Fair 2013', '2013-01-27', '2013-03-10', 'Allahabad', 'Uttar Pradesh', 'img/kumbh.jpg', 'Kumbh Fair is a mass Hindu pilgrimage of faith in which Hindus gather at a sacred river for a bath in the river. It is held every third year at one of the four places by rotation: Haridwar, Prayag (Allahabad), Nasik and Ujjain.', 'http://en.wikipedia.org/wiki/Kumbh_Mela', 2), 
(2, 'Taj Mahotsav 2013', '2013-02-18', '2013-02-27', 'Agra', 'Uttar Pradesh', 'img/taj-mahotsav.jpg', 'aj Mahotsav is an annual 10 day (from 18 to 27 February) event at Shilpgram in Agra, India. Every year in February tourists flock to Agra for this mega event, just a stone throw from the majestic Taj Mahal. This festival invokes the memories of old Mughal era and nawabi style prevalent in Uttar Pradesh in 18th and 19th centuries.', '', 0), 
(3, 'Khajuraho Dance festival', '2013-02-01', '2013-02-08', 'Khajuraho', 'Madhya Pradesh', 'img/Khajuraho-Dance-Festival.jpg', 'One week long festival of classical dances held annually against the spectacular backdrop of the magnificently lit Khajuraho temples in Chhatarpur district of Madhya Pradesh.', '', 0), 
(4, 'Holi - Festival of Colors', '2013-03-26', '2013-03-27', 'National', 'Festival', 'img/holi.jpg', 'Holi - The Festival of Colors marks the beginning of ceremonies being the first festival in the Hindu calendar. On this day, people greet each other with colours and celebrate the occasion with much gaiety and excitement.', '', 0), 
(5, 'Elephant Festival', '2013-03-26', '2013-03-26', 'Jaipur', 'Rajasthan', 'img/elephant.jpg', 'Jaipur Elephant Festival, perhaps the only festival where Elephants are given prime importance.During the festival, Jaipur comes alive with elephants, dancers and musicians which draw visitors from all over the world.', '', 0), 

답변

-1

봅니다

public class Classname { 
    //private variables name like 
       String event_name; 
       .... so on 

     // Empty constructor 
     public Classname(){ 

     } 
     // constructor 
     public Classname (String event_name, String start_date,String end_date.....){ 
      this.event_name= event_name; 
      this.start_date=start_date; 
      this.end_date=end_date; 
     } 


     public int getID(){ 
      return this._id; 
     } 

     // setting id 
     public void setID(int id){ 
      this._id = id; 
     } 
        and all the get and set methods.... 



} 

하고 메인 클래스에 Classname.java에게 지금

public class databasehandler extends SQLiteOpenHelper{ 

private static final int DATABASE_VERSION = 5; 
     // Database Name 
     private static final String DATABASE_NAME = "atabase"; 

     // Contacts table name 
     private static final String TABLE_Name = "task"; 
     // Contacts Table Columns names 
     private static final String event_name= "event_name"; 
     private static final String start_date= "start_date"; 
     private static final String KEYID="id"; 
     private static final String end_date= "end_date"; 
     private static final String event_pic= "event_pic"; 
     private static final String event_desc= "event_desc"; 
     private static final String wiki_url= "wiki_url"; 
     private static final String event_cat= "event_cat"; 


public databasehandler(Context context){ 
       super(context, DATABASE_NAME, null, DATABASE_VERSION); 
      } 

@Override 
      public void onCreate(SQLiteDatabase db) { 
       // TODO Auto-generated method stub 
       String CREATETABLE = "CREATE TABLE " + TABLE+ "(" 
         + KEYID + " INTEGER PRIMARY KEY AUTOINCREMENT," + event_name+ " TEXT," 
         + start_date+ " TEXT," + end_date+" TEXT "+ ..... so on ")"; 
           db.execSQL(CREATE_TASK_TABLE); 
       db.execSQL(CREATETABLE); 

      } 



@Override 
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
       // Drop older table if existed 
       db.execSQL("DROP TABLE IF EXISTS " + TABLE); 
           // Create tables again 
       onCreate(db); 

      } 

void adddata(Classname Object) { 
       SQLiteDatabase db = this.getWritableDatabase(); 

       ContentValues values = new ContentValues(); 
       values.put(event_name, Object.getevent_name()); 
       values.put(start_date, Object.gestart_date()); 
       values.put(TASK_ID, Object.getTASK_ID()); 
             insert all values.... 

       // Inserting Row 
       db.insert(Table_tasknotification, null, values); 
       // Closing database connection 
      } 

} 

와 같은 데이터베이스에 대한 별도의 클래스를 만들려면 : -

databasehandler handler=new databasehandler (context); 
handler.adddata(new Classname(event_name, start_date,end_date....)); 

그것을 당신 helo 것입니다보십시오 : 또한이 링크를 확인하십시오 http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

+0

나는 데이터베이스에 단일 레코드를 추가 할 것이라고 생각합니다 ... 나는 한 번에 500 개가 넘는 레코드를 삽입 할 수있는 SQL 파일과 쿼리를 가지고 있습니다. 한 번에 500 개 이상의 값을 삽입하는 효율적인 방법이 있습니다 ... 그 같은 bulkinsert .. – divyang7

+0

500 개 이상의 레코드를 삽입 할 수있는 옵션이 없다고 생각합니다. 500 개 레코드를 삽입하기 위해 쿼리를 500 번 실행했습니다. .. –

+0

어떻게 그걸 할 수 ... 이걸 내게 안내 할 수 ... – divyang7

관련 문제