0

準備されたステートメントを使用して、テーブルに値を挿入しようとしましたが、メールに列名がありませんが、プロジェクトのどこにもメールを見逃していないことは明らかでした。

RegistrationActivity.java

public void reg_submit(View v){

    DataHelper con=new DataHelper(this);
    GetterRegistration model=new GetterRegistration();

        SQLiteDatabase db = con.getWritableDatabase();

        **String sql="insert into registration(name,email,password)values(?,?,?)";**

        SQLiteStatement stmt = db.compileStatement(sql);

        stmt.bindString(1, model.getName());
        stmt.bindString(2, model.getEmail());
        stmt.bindString(3,  model.getPassword());           
        stmt.execute();
        db.close();
        Intent in = new Intent(this, CocomoActivity.class);
        startActivityForResult(in, requestCode);

}

}

DataHelper.java

 public class DataHelper extends SQLiteOpenHelper {
        public static final String TABLE_COMMENTS = "registration";
        public static final String id= "_id";
        public static final String name = "name";
        **public static final String email = "email";**
        public static final String password = "password";

        private static final String DATABASE_NAME = "mydb.db";
        private static final int DATABASE_VERSION = 1;

        // Database creation sql statement
        private static final String DATABASE_CREATE = "create table "
            + TABLE_COMMENTS + "( " + id
                + " integer primary key autoincrement, " + name
                + " text not null,"+email
                +"text not null," +password
                +"text not null)";

これは Logcat のエラー レポートでした

05-11 15:16:25.785: E/AndroidRuntime(704): java.lang.reflect.Method.invoke(Method.java:507) 05-11 15:16:25.785: E/AndroidRuntime(704): at android.view.View$1.onClick(View.java:2139) 05-11 15:16:25.785: E/AndroidRuntime(704): ... 11 05-11 15:16:25.785: E/AndroidRuntime(704 ): 原因: android.database.sqlite.SQLiteException: テーブル登録に email: という名前の列がありません: コンパイル中: 登録に挿入(name,email,password)values(?,?,?) 05-11 15:16:25.785: E/AndroidRuntime(704): android.database.sqlite.SQLiteCompiledSql.native_compile(ネイティブ メソッド) 05-11 15:16:25.785: E/AndroidRuntime(704): android.database で.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92) 05-11 15:16:25.785: E/AndroidRuntime(704): android.database.sqlite.SQLiteCompiledSql.(SQLiteCompiledSql.java:65) 05-11 15: 16:25.785: E/AndroidRuntime(704): android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:83) 05-11 15:16:25.785: E/AndroidRuntime(704): android.database.sqlite. SQLiteStatement.(SQLiteStatement.java:41) 05-11 15:16:25.785: E/AndroidRuntime(704): android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1149) 05-11 15:16:25.785 : E/AndroidRuntime(704): at android.cocomo.login.RegistrationActivity.reg_submit(RegistrationActivity.java:45).

どんな助けでも大歓迎です。前もって感謝します。それでも私はこれを修正しようとしています 誰か提案があれば友達に知らせてください

4

1 に答える 1

2

メールとテキストの間にスペースはありません。

 **email+"text** not null," +...

パスワードとテキストの間

于 2012-05-11T10:10:52.157 に答える