2012-04-10 15 views
0

アンドロイド でのEditTextからデータベースにデータを挿入しようとするが、データが挿入されていません。データはsqliteのデータベースに挿入されませんか?

MY CODE -

ContentValues values= new ContentValues(); 
values.put(KEY_EMAIL, GlobalVar.email); 
values.put(KEY_NAME, GlobalVar.name); 
myDataBase.insert(MY_EMP, null,values); 

MY LOGのCAT

04-10 09:50:20.121: E/running(280): create database called 
04-10 09:50:20.121: E/running(280): chek database called 
04-10 09:50:20.121: E/running(280): chek database try block called 
04-10 09:50:20.171: E/running(280): create database called try block 
04-10 09:50:20.191: E/running(280): copy database called 
04-10 09:50:20.211: E/running(280): open data successfull 
04-10 09:50:50.720: W/KeyCharacterMap(280): No keyboard for id 0 
04-10 09:50:50.720: W/KeyCharacterMap(280): Using default keymap: /system/usr/keychars/qwerty.kcm.bin 
uがmyDataBase.insert(MY_EMP、NULL、値)に必要なパラメータが不足してrは思わ

`

+1

スタックトレースがないため、関連するログ出力が欠落しているようです。このコードは例外をスローしていますか? –

+0

あなたのログファイルから@Tyler Treatなどの情報をご提供ください。 – UVM

+0

どのようにデータがSQLite..haveに挿入されていないと言うと、SQLiteブラウザのデータフォルダからデータベースをチェックしましたか? – MKJParekh

答えて

1

をお試しください失敗するでしょう。

insertが失敗した場合は、それが例外をスローしません。 -1を返します。

はあなたのinsert呼び出しの結果を確認するか、いっそのこと、

myDataBase.insertOrThrow(MY_EMP, null,values); 

への呼び出しを変更して1があると仮定すると、例外メッセージのログを確認してください。

1

。 myDataBase.insert( "テーブル名"、 "最初の列名"、cv)である必要があります。

あなたが必要なすべての列のデータを指定しない場合(デフォルト値を持つヌルを受け入れる、または自動インクリメントされていないすべての列のすなわちデータ)、そして挿入コマンドこの

+1

これは必ずしも正しいとは限りません。 2番目のパラメータはnull列のハックです(それは必ずしも必須ではありません)。だから彼が完全に空の行を挿入していないと、私は彼がそうは思わないが、これは間違っている。 –

+0

@TylerTreatと合意する – MKJParekh

関連する問題