0

存在しないように見えるデータベースのテーブルに時刻と日付を挿入する際の問題をソートするのに本当に苦労しています!.

「そのようなテーブルはありません」という問題について質問しましたが、この問題を分類した回答が得られず、状況が変化しました。

これを解決するまで先に進めないので、誰かが私を助けてくれることを本当に望んでいます。

編集:

logcat は、テーブルを作成する前に挿入しようとしていると表示されますか?

私のLogcatエラーは次のとおりです。

01-20 23:38:24.128: E/Database(287): Error inserting app_time=00114200T000000Europe/Dublin(0,0,0,-1,0) app_alarm=false app_date=2013-01-24 app_name=gggg app_comments=a app_type=Business
01-20 23:38:24.128: E/Database(287): android.database.sqlite.SQLiteException: no such table: appointmentsTable: , while compiling: INSERT INTO appointmentsTable(app_time, app_alarm, app_date, app_name, app_comments, app_type) VALUES(?, ?, ?, ?, ?, ?);

テーブルが無いのでこのデータは入れられないのでしょうか?テーブルを作成できない理由がわかりません。渡された値が「?」である理由についても混乱しています。

繰り返しますが、ここに私の OnCreate メソッドがあります:

@Override
    public void onCreate(SQLiteDatabase db) {


        db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                KEY_NAME + " TEXT NOT NULL, " +
                KEY_TEL + " TEXT NOT NULL, " +
                KEY_EMAIL + " TEXT NOT NULL, " +
                KEY_COMMENTS + " TEXT NOT NULL);"

                );

        db.execSQL("CREATE TABLE " + DATABASE_TABLEAPP + " (" +
                KEY_ROWAPPID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                KEY_NAMEAPP + " TEXT NOT NULL, " +
                KEY_TYPEAPP + " TEXT NOT NULL, " +
                KEY_TIMEAPP + " TEXT NOT NULL, " +
                KEY_DATEAPP + " TEXT NOT NULL, " +
                KEY_COMMENTAPP + " TEXT NOT NULL, " +
                KEY_ALARM + " BOOLEAN NOT NULL);"

                );      
    }

私の挿入方法:

    public void createAppointmentEntry(String nameApp, String typeApp, Time timeApp, Date dateApp ,String commentApp, Boolean onOrOff) {



        ContentValues cv = new ContentValues();
        cv.put(KEY_NAMEAPP, nameApp);
        cv.put(KEY_TYPEAPP, typeApp);
        cv.put(KEY_TIMEAPP, timeApp.toString());
        cv.put(KEY_DATEAPP, dateApp.toString());
        cv.put(KEY_COMMENTAPP, commentApp);
        cv.put(KEY_ALARM, onOrOff);
        ourDatabase.insert(DATABASE_TABLEAPP, null, cv);

    }
4

1 に答える 1

0

データ型が「TEXTNOTNULL」であることがわかりますか?「app_time」列を「TEXT」だけに変更して、データベースのバージョンを増やしてみてください。また、SQLite Viewerをダウンロードして、データベースが実際にどのように見えるか、および列が存在するかどうかを視覚的に把握できるようにしてください。

于 2013-01-21T00:18:51.820 に答える