Я не понял .. почему я сталкиваюсь с этой ошибкой ..
Вот мой код:
package com.dswt.book;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DatabaseHandler extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "BookManager";
private static final int DATABSE_VERSION = 1;
private static final String TABLE_BOOKS = "books";
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_EDATA = "edata";
final String TAG = "addBook";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABSE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_BOOK_TABLE = "CREATE TABLE " + TABLE_BOOKS + "(" + KEY_ID
+ " INTEGER PRIMARY KEY," + KEY_EDATA + " TEXT," + KEY_NAME
+ " TEXT " + ")";
//Log.i(TAG, "error");
db.execSQL(CREATE_BOOK_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS" + TABLE_BOOKS);
onCreate(db);
}
public void addBook(Book book) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_EDATA, book.getName());
values.put(KEY_NAME, "book.getEdata());
db.insert(TABLE_BOOKS, null, values);
db.close();// closing database connection
Log.i(TAG, "see the value is adding");
}
}
Вот мой LOG CAT:
03-23 17:44:18.049: I/Database(6094): sqlite returned: error code = 1, msg = table books has no column named edata
03-23 17:44:18.049: E/Database(6094): Error inserting edata=satyam name=data display
03-23 17:44:18.049: E/Database(6094): android.database.sqlite.SQLiteException: table books has no column named edata: , while compiling: INSERT INTO books(edata, name) VALUES(?, ?);
03-23 17:44:18.049: E/Database(6094): at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
03-23 17:44:18.049: E/Database(6094): at android.database.sqlite.SQLiteCompiledSql.compile(SQLiteCompiledSql.java:92)
03-23 17:44:18.049: E/Database(6094): at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:65)
03-23 17:44:18.049: E/Database(6094): at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:83)
03-23 17:44:18.049: E/Database(6094): at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:41)
03-23 17:44:18.049: E/Database(6094): at android.database.sqlite.SQLiteDatabase.compileStatement(SQLiteDatabase.java:1149)
03-23 17:44:18.049: E/Database(6094): at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1569)
03-23 17:44:18.049: E/Database(6094): at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1426)
03-23 17:44:18.049: E/Database(6094): at com.dswt.book.DatabaseHandler.addBook(DatabaseHandler.java:48)
03-23 17:44:18.049: E/Database(6094): at com.dswt.book.BookActivity.onCreate(BookActivity.java:21)
03-23 17:44:18.049: E/Database(6094): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-23 17:44:18.049: E/Database(6094): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-23 17:44:18.049: E/Database(6094): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-23 17:44:18.049: E/Database(6094): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-23 17:44:18.049: E/Database(6094): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-23 17:44:18.049: E/Database(6094): at android.os.Handler.dispatchMessage(Handler.java:99)
03-23 17:44:18.049: E/Database(6094): at android.os.Looper.loop(Looper.java:123)
03-23 17:44:18.049: E/Database(6094): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-23 17:44:18.049: E/Database(6094): at java.lang.reflect.Method.invokeNative(Native Method)
03-23 17:44:18.049: E/Database(6094): at java.lang.reflect.Method.invoke(Method.java:507)
03-23 17:44:18.049: E/Database(6094): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-23 17:44:18.049: E/Database(6094): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-23 17:44:18.049: E/Database(6094): at dalvik.system.NativeStart.main(Native Method)
Если возможно, некоторые из вас, сталкивающиеся с ошибками такого типа, помогут мне .. !!!