2013-05-15 4 views
1

Есть ли более простой способ вставки данных в таблицу в SQLite? Мне нужно вставить State_ID и State_Name в Table tblState. Поскольку в США существует много государств, есть ли другой способ, который я могу использовать вместо этого:Вставить значения в базу данных SQLite

String ROW1 = "INSERT INTO tblState VALUES (1,'Alabama')"; 
String ROW2 = "INSERT INTO tblState VALUES (2,'Alaska')"; 
String ROW3 = "INSERT INTO tblState VALUES (3,'California')"; 
db.execSQL(ROW1); 
db.execSQL(ROW2); 
db.execSQL(ROW3); 

Спасибо!

+0

Вы можете попробовать вот так ... Имейте состояние в массиве. Выполните один оператор insert внутри цикла, пока этот массив состояний не завершится. – Subburaj

+0

Вы можете объединить все 'INSERT' в одну строку, а затем выполнить один' db.execSQL' –

+0

Subburaj, как я это сделаю? жаль, что я просто новичок в этом. благодаря! – dolphinately

ответ

1

Попробуйте это ..

String state[] = { "state1" , "state2",.............}; 
    int id=1; 
    for(int i=0;i<state.length;i++) 
    { 
    db.execSQL("INSERT INTO tblState VALUES (id,state[i])"); 
    id++; 
    } 
+0

Спасибо Subburaj! Отличная помощь. :) – dolphinately

+0

Приготовьтесь и примите ответ, если это вам помогло, .. – Subburaj

0

Вы можете сделать следующее:

String ALLROWS = "INSERT INTO tblState" 
    + "SELECT 1 AS 'State_ID', 'Alabama' AS 'State_Name'" 
    + "UNION SELECT 2 AS 'State_ID', 'Alaska' AS 'State_Name'" 
    + "UNION SELECT 3 AS 'State_ID', 'California' AS 'State_Name'"; 

db.execSQL(ALLROWS); 
0

Вы должны использовать ContentValues для каждой из строк, которые вы хотите вставить:

ContentValues values = new ContentValues(); 
values.put('State_ID', 1); 
values.put('State_Name', "Alabama"); 

, а затем использовать db.insert("tblState", null, values), чтобы вставить строку. Вы можете написать метод, чтобы построить свои ContentValues:

public ContentValues method(int id, String name) { 
    ContentValues values = new ContentValues(); 
    values.put('State_ID', id); 
    values.put('State_Name', name); 
} 

Ваш код будет:

db.insert("tblState", null, method(1, "Alabama")); 
db.insert("tblState", null, method(2, "Alaska")); 
db.insert("tblState", null, method(3, "California")); 

Или просто перебрать всех государств ...

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