2012-03-23 65 views

答えて

1

をお使いのデータベースが間違った場所にあります(パス::/mydata.db) "mydata.dbは、" あなたのDatabasefileがルートであることを意味します。あなたのアプリケーションはルートフォルダに書き込めません。 代わりにcontext.getFilesDir() + "/mydata.db"を試してください。 1つのコマンドで

:あなたのデータを開くために

SQLiteDatabase db = openOrCreateDatabase(context.getFilesDir()"/mydata.db",SQLiteDatabase.CREATE_IF_NECESSARY,null); 
1

あなたのテーブル作成クエリがうまく見えません。以下のようにそれを実行します。

"CREATE TABLE IF NOT EXISTS vars 
(id INTEGER PRIMARY KEY AUTOINCREMENT, 
varname TEXT, 
varvalue TEXT);" 
1

私はあなたがid.Here IDのないVARNAMEとvarValuesのためにデータを挿入している見ることができるようであるあなたが値を入力する必要があります。だから、主キー(つまり、それはnullにして複製することはできませんを意味します)あなたはそれを空白のままにすることはできませんし、また、あなたは自動化のために行くことができます。

はこのような何か試してみてください:

db.execSQL("CREATE TABLE IF NOT EXISTS vars (id INTEGER PRIMARY KEY AUTOINCREMENT ASC, varname,varvalue);"); 
+0

SQL sintax – opc0de

+0

で例外はありません。試してみましたか?最初に試してみてください。 –

0

は、あなたがこのような何かを宣言する必要がありますベース:

あなたのデータベースを書き込み可能にするために

private DatabaseHelper mDbHelper; 
private SQLiteDatabase mDb; 
private final Context mCtx; 

mDbHelper = new DatabaseHelper(mCtx); 
mDb = mDbHelper.getWritableDatabase(); 

を私の提案は通過することですhttp://developer.android.com/resources/tutorials/notepad/index.html

SQLiteDataBasesの詳細については、あなたがベースとして使用できるnotesDbAdapterというクラスが見つかると、データベースを開くopen()クラスが見つかります。

他の場合openDataBase()メソッドを使用するには、デバイス上のDBのパスを見つけ、mydata.dbをDBのフルパスに実現する必要があります。

関連する問題