다른 클래스에서 SQLite Database.Now를 생성하는 데이터베이스 관리자 클래스가 있습니다. 그 클래스의 인스턴스를 생성하고 있습니다. 이제 데이터베이스에 문자열 배열을 삽입 할 수 있습니까? 내 데이터베이스 관리자 클래스 코드는 다음과 같다 :블랙 베리의 SQLite 데이터베이스에 문자열의 배열을 삽입하는 방법
public class DatabaseManager
{
public Database sqliteDb = null;
public DatabaseManager()
{
try
{
URI myURI = URI.create("/SDCard/databases/itemdb.db");
Database sqliteDb = DatabaseFactory.openOrCreate(myURI);
sqliteDb.close();
sqliteDb = DatabaseFactory.open(myURI);
Statement statement = sqliteDb.createStatement("CREATE TABLE if not exists SelectedItem (Name TEXT, Quantity TEXT)");
statement.prepare();
statement.execute();
statement.close();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if(sqliteDb!=null)
{
sqliteDb.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
public static void insertValues(String tableName, Hashtable ht)
{
try
{
Logger.out("Grocery", "it is comin here");
URI myURI = null;
try
{
myURI = URI.create("/SDCard/databases/itemdb.db");
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
}
catch (MalformedURIException e)
{
e.printStackTrace();
}
Database sqliteDb = DatabaseFactory.openOrCreate(myURI);
sqliteDb.close();
sqliteDb = DatabaseFactory.open(myURI);
Statement dbStatement = sqliteDb.createStatement("INSERT INTO SelectedItem(Name,Quantity) " + "VALUES (?,?)");
Enumeration itemName = ht.keys();
Enumeration itemQty = ht.elements();
while(itemName.hasMoreElements())
{
Logger.out("Grocery", "more items");
String strName = itemName.nextElement().toString();
String strQty = itemQty.nextElement().toString();
Logger.out("Grocery", "name:" + " " + strName);
Logger.out("Grocery", "QTY:" + " " + strQty);
dbStatement.bind(1, strName);
dbStatement.bind(2, strQty);
Logger.out("Grocery", "Binded:::::::::");
dbStatement.execute();
dbStatement.reset();
Logger.out("Grocery", "Executed:::::::::");
}
dbStatement.close();
}
catch (DatabaseException e)
{
e.printStackTrace();
}
}
public void closeDb()
{
try
{
sqliteDb.close();
}
catch (DatabaseIOException e)
{
e.printStackTrace();
}
}
}
지금 내가 해시 테이블로 이름과 양을 복용하고 있습니다. 내가 버튼을 누르면하고 때 내 메인 클래스에서, 나는 다음과 같은 데이터베이스에 값을 삽입하고있다 : 당신이 다음 단지로 선언 GLOBLE 같은 다른 클래스 메소드를 사용하려면 그 어느 때
dbManager = new DatabaseManager();
dbManager.insertValues("SelectedItem", htItem);
스트링의 배열은 Y를 의미 할 나이 값으로 여러 이름을 삽입하고 싶습니까? –
예.하지만 다른 클래스에서 삽입하고 싶습니다. DatabaseManager 클래스가 아닙니다. –