Я использую базу данных с несколькими таблицами в своем приложении. У меня есть синтаксический анализатор XML, который должен записывать данные в две таблицы при разборе. Я создал два адаптера баз данных для обеих таблиц, но теперь у меня есть проблема. Когда я работаю с одним столом, это легко:
FirstDBAdapter firstTable = new FirstDBAdapter(mycontext);
firstTable.open(); // open and close it every time I need to insert something
// may be hundreds of times while parsing
// it opens not a table but whole DB
firstTable.insertItem(Item);
firstTable.close();
Так как это SAX-парсер, на мой взгляд (может быть, я ошибаюсь), это будет еще лучше:
FirstDBAdapter firstTable = new FirstDBAdapter(mycontext);
@Override
public void startDocument() throws SAXException
{
firstTable.open(); // open and close only once
}
...
firstTable.insertItem(Item);
...
@Override
public void endDocument() throws SAXException
{
firstTable.close();
}
Но как мне это сделать, если мне нужно вставить данные во вторую таблицу? Например, если у меня есть второй адаптер, который, я думаю, будет плохой идеей:
FirstDBAdapter firstTable = new FirstDBAdapter(mycontext);
SecondDBAdapter secondTable = new SecondDBAdapter(mycontext);
@Override
public void startDocument() throws SAXException
{
firstTable.open();
secondTable.open();
}
Любые мысли о том, как достичь этого?