2014-01-24 5 views
2

В моей деятельности у меня есть 2 Datepicker, с которого я выбираю дату начала (например, 01/01/2014) и дату окончания (например, 12/01/2014). то я должен вставить 12 записей одновременно с их датами, то есть, в моем поле даты будут следующие строки:Android SQLite вставить несколько записей

01/01/2014 
01/02/2014 
01/03/2014 
01/04/2014 
01/05/2014 
01/06/2014 
01/07/2014 
01/08/2014 
01/09/2014 
01/10/2014 
01/11/2014 
01/12/2014 

до сих пор только были в состоянии вычислить разницу между начальной датой и дату окончания, но я точно не знаю, как собрать все эти записи вместе. Спасибо за вашу помощь.

мой код, чтобы вычислить разницу между датами (JodaTime)

public void diff_date(View v){ 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
    String date_in = sdf.format(dateAndTime.getTime()); 
    String date_out = sdf.format(dateAndTime1.getTime()); 
    int differenza_date = Days.daysBetween(new DateTime(date_in), new DateTime(date_out)).getDays(); 
+0

В Android вы должны использовать SQLiteDatabase.insert с соответствующими ContentValues ​​и r повторите все это раз. –

ответ

2

Как и в SQL вы можете вставить более чем грести вы можете сделать вашу строку как то

INSERT INTO 'tablename' ('column1') VALUES 
('val1'), 
('val2'), 
('val2'), 
('val2'); 

и здесь осуществления вставки код:

public void diff_date(View v){ 
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); 
    String insertRows = "INSERT INTO 'tablename' ('column1') VALUES"; 
    String date_in = sdf.format(dateAndTime .getTime()); 
    String date_out = sdf.format(dateAndTime1.getTime()); 
    int differenza_date = Days.daysBetween(new DateTime(date_in), new DateTime(date_out)).getDays(); 
    for(int i=1 ; i < differenza_date ; i++) 
    { 
     // increase i day each time and save it in string 
     insertRows += "("+increasedDate+")," 
    } 

    // and here insert into database 
    db.execSQL(insertRows) 
    } 
+0

Да, но он должен быть динамическим, то есть пользователь будет иметь полную свободу выбора даты начала и окончания. В моем вопросе 1 год, но пользователь может выбрать 2 года или 3 года или 6 месяцев и так далее. – user3160725

+0

взглянуть на отредактированный ответ. Я пытаюсь сделать какой-то фиктивный код, потому что у меня нет полного кода, поэтому не стесняйтесь, если какая-либо строка кода не очевидна для вас. –

+0

Я включил модифицированный код – user3160725

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