我无法将textview字符串存储到Android中的Sqlite数据库中。下面是我的DatabaseHelper代码

我无法将textview字符串存储到Android中的Sqlite数据库中。下面是我的DatabaseHelper代码,android,android-sqlite,Android,Android Sqlite,databaeheloper.class 这是一个普通的类。但我无法插入值并从数据库中获取数据 public class DatabaseHelper extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 1; private static final String DATABASE_NAME = "pharmabarcode.db";

databaeheloper.class

这是一个普通的类。但我无法插入值并从数据库中获取数据

         public class DatabaseHelper extends SQLiteOpenHelper {
         private static final int DATABASE_VERSION = 1;
         private static final String DATABASE_NAME = "pharmabarcode.db";
         private static final String TABLE_NAME = "pbstable";
         private static final String KEY_ID = "id";
         private static final String KEY_NAME = "result";

         public DatabaseHelper(Context context){
         super(context,DATABASE_NAME,null,DATABASE_VERSION);

}


@Override
public void onCreate(SQLiteDatabase db) {

    db.openOrCreateDatabase("pharmabarcode.db", null);
    String CREATE_TABLE = "CREATE TABLE" + TABLE_NAME + "(" + KEY_ID + "INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_NAME + "TEXT" + ")";
    db.execSQL(CREATE_TABLE);

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXIST"+ TABLE_NAME);
    onCreate(db);

}

public boolean insertData(String result){

    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(KEY_NAME, result);
    long rslt = db.insert(TABLE_NAME,null,contentValues);
    if(rslt == -1)
        return false;
    else
        return true;
}
public Cursor getAllData(){

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor res = db.rawQuery("select * from "+ TABLE_NAME,null );
    return res;
}}
这是mainactivity在数据库中插入值的代码

    try {
        boolean isInserted = mydb.insertData(barcodeValue.getText().toString());
        if (isInserted = true)
            Toast.makeText(getApplicationContext(), "Data Inserted", Toast.LENGTH_LONG).show();
        else
            Toast.makeText(getApplicationContext(), "Data not Inserted", Toast.LENGTH_LONG).show();
    }catch (Exception e){
        Log.d("Exception occures",""+e);
    }
这是我的堆栈跟踪,上面说没有表

    12-10 11:30:35.553 3158-3158/com.google.android.gms.samples.vision.barcodereader E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                               Process: com.google.android.gms.samples.vision.barcodereader, PID: 3158
                                                                                               java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.android.gms.samples.vision.barcodereader/com.google.android.gms.samples.vision.barcodereader.HistoryActivity}: android.database.sqlite.SQLiteException: no such table: pbstable (code 1): , while compiling: select * from pbstable
                                                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2493)
                                                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2555)
                                                                                                   at android.app.ActivityThread.access$800(ActivityThread.java:176)
                                                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1437)
                                                                                                   at android.os.Handler.dispatchMessage(Handler.java:111)
                                                                                                   at android.os.Looper.loop(Looper.java:194)
                                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5576)
                                                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                                                   at java.lang.reflect.Method.invoke(Method.java:372)
                                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956)
                                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751)
                                                                                                Caused by: android.database.sqlite.SQLiteException: no such table: pbstable (code 1): , while compiling: select * from pbstable
                                                                                                   at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                                                                                                   at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:898)
                                                                                                   at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:509)
                                                                                                   at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
                                                                                                   at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
                                                                                                   at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
                                                                                                   at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
                                                                                                   at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1346)
                                                                                                   at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1285)
                                                                                                   at com.google.android.gms.samples.vision.barcodereader.DatabaseHelper.getAllData(DatabaseHelper.java:53)
                                                                                                   at com.google.android.gms.samples.vision.barcodereader.HistoryActivity.onCreate(HistoryActivity.java:30)
                                                                                                   at android.app.Activity.performCreate(Activity.java:6005)
                                                                                                   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1111)
                                                                                                   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2446)
                                                                                                   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2555) 
                                                                                                   at android.app.ActivityThread.access$800(ActivityThread.java:176) 
                                                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1437) 
                                                                                                   at android.os.Handler.dispatchMessage(Handler.java:111) 
                                                                                                   at android.os.Looper.loop(Looper.java:194) 
                                                                                                   at android.app.ActivityThread.main(ActivityThread.java:5576) 
                                                                                                   at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                   at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:956) 
                                                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:751) 
你这个笨蛋

.database.sqlite.SQLiteException: no such table: pbstable (code 1): , while compiling: select * from pbstable
这是因为CREATESQL命令是错误的。 您应该在列类型和列名之间添加空格

我在这个-CREATE表中又添加了一个空格

 String CREATE_TABLE = "CREATE TABLE " + TABLE_NAME + "(" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_NAME + " TEXT" + ")";
删除此行db.openOrCreateDatabasepharmabarcode.db,null;;
再次卸载并重新安装您的应用。

感谢您的回复,亲爱的,但是问题仍然存在,堆栈跟踪保持不变@M dt logcat指向光标并表示没有类似的表可用,原因是:android.database.sqlite.SQLiteException:没有这样的表:pbstable代码1:,编译时:在android.database.sqlite.SQLiteConnection.nativePrepareStatementNative方法中从pbstable中选择*创建数据库文件后,您可以创建此表,尝试卸载并重新安装你的应用程序,并再次检查日志。如果你更改了数据库或表字段,你必须先删除数据库或应用程序,然后再安装应用程序。非常感谢。我已经做了所有的事情。错误现在消失了,但是数据没有被插入,因为我在插入后放置了一个祝酒词,但它不是祝酒词@我非常感谢你。我已经做了所有的事情。错误现在消失了,但是数据没有被插入,因为我在插入后放置了一个祝酒词,但它不是祝酒词!!!