ㅠㅠ도저히.. 아이디어가 안나서 질문드립니다.
현재 openapi를 이용해 xml을 가져와 파싱 하고, db에 저장해서 출력해주는 프로그램을 만들고 있습니다.
a.xml의 정보를 aTable에 저장하고, b.xml의 정보를 bTable에 저장후
aTable을 출력해주는 a.java 액티비티와
bTable을 출력해주는 b.java 액티비티를 만들고자 하는데, (두개의 table 모두 "c.db"에 저장)
동일한 DBHelper( extends SQLiteOpenHelper )를 사용하면서요....
public DBHelper(Context context, String name, CursorFactory factory,int version, int a) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
this.ab = a;
}
a액티비티에서 helper1 = new DBHelper(a.this, "c.db", null, 1, 0) ; 으로 helper를 생성하고,
b액티비티에서는 helper2 = new DBHelper(b.this, "c.db", null, 1, 1) ; 으로 helper를 생성하고,
DBHelper클래스에서 String[] tnarr = new String[] { "a", "b" }; 를 선언하고..
for (int j = 0; j < tnarr.length; j++) {
TABLE_NAME = tnarr[j];
sql = "create table "
+ TABLE_NAME
+ "(_id integer PRIMARY KEY autoincrement,"
+ name text, pnum text)";
db.execSQL(sql);
}
dbhelper에서 onCreate시 두개의 table을 생성하는것 까진 되는데.
이제 각각의 테이블에 파싱한 데이터를 삽입하고 싶은데....ㅠㅠ
a.java 액티비티에서, insert 구문을 넣어 삽입하면 a액티비티를 킬때마다 aTable에 계속 같은 내용이 반복삽입되는 문제가 발생하고,
public void onCreate(SQLiteDatabase db) {
String sql;
TABLE_NAME = tnarray[ab];
sql = "insert into "
+ TABLE_NAME
+ " (name, pnum )"
+ "values (?,?)";}
DBHelper OnCreate에 insert 구문을 넣으면,
a액티비티가 b액티비티보다 먼저 실행될 경우, atable에만 삽입되고..
b액티비티를 켜도 btable에는 데이터삽입이 안되는 문제가 발생하는데..ㅠㅠ
해결방법 좀 알려주시면 감사하겠습니다..