0

このコードを使用しようとしています。データベースを使用するオートコンプリート フィールドです。

import java.util.Vector;

import net.rim.device.api.collection.util.*;
import net.rim.device.api.database.Cursor;
import net.rim.device.api.database.Database;
import net.rim.device.api.database.DatabaseFactory;
import net.rim.device.api.database.Row;
import net.rim.device.api.database.Statement;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.ui.component.*;


public class AutoCompleteFieldDemo extends UiApplication
{ 

  public static void main(String[] args)
  {

    AutoCompleteFieldDemo app = new AutoCompleteFieldDemo();
    app.enterEventDispatcher(); 
  }

  public AutoCompleteFieldDemo()
  {
    pushScreen(new AutoCompleteFieldDemoScreen());
  }

  public static String[] getDataFromDB()
  {
    Vector names = new Vector();

    try
    {     
      Database db = DatabaseFactory.openOrCreate("database1.db"); 
      Statement statement1 = db.createStatement("SELECT name FROM Directory_Items");
      statement1.prepare();
      statement1.execute();
      Cursor c = statement1.getCursor();
      Row r;

      while(c.next()) 
      {
        r = c.getRow();
        names.addElement(r.getString(0));   
      }

      statement1.close(); 
      db.close(); 
    }
    catch( Exception e ) 
    { 
      System.out.println( e.getMessage() );
      e.printStackTrace();
    }

    String [] returnValues = new String[names.size()];
    for (int i = 0; i < names.size(); i++) {
      returnValues[i] = (String) names.elementAt(i);
    }

    return returnValues;
  }

  static final class AutoCompleteFieldDemoScreen extends MainScreen
  {

    AutoCompleteFieldDemoScreen()
    {
      BasicFilteredList filterLst = new BasicFilteredList();

      filterLst.addDataSet(1,getDataFromDB()
         ,"Names",BasicFilteredList.COMPARISON_IGNORE_CASE)​;
      AutoCompleteField autoFld = new AutoCompleteField(filterLst);
      add(autoFld); 
    }

ここで見つけた

私が直面している問題は、データベースが見つからないことです。SDカードにデータベースを作成し、名前をcreateOropen( "myDataBase.db)に入れました。しかし、デバッグすると例外にジャンプします。なぜこの問題が発生するのかについての考え。

どうもありがとう!

4

0 に答える 0