Android :: SQLite错误:没有这样的表

ren人

我知道这个问题已经被问过很多次了,但是相信我,尽管我无法解决错误,但我经历了所有的事情。

这是我的错误日志

E/SQLiteLog(4891): (1) no such table: nametable
E/SQLiteDatabase(4891): Error inserting MaximumofHeartRate=90 MaximumofIBI=32 MinimumofHeartRate=40 name=hofmann MinimumofBreathingRate=4 MaximumofBreathingRate=10 patientID=5689063 firstName=peter MinimumofIBI=11
E/SQLiteDatabase(4891): android.database.sqlite.SQLiteException: no such table: nametable (code 1): , while compiling: INSERT INTO nametable(MaximumofHeartRate,MaximumofIBI,MinimumofHeartRate,name,MinimumofBreathingRate,MaximumofBreathingRate,patientID,firstName,MinimumofIBI) VALUES (?,?,?,?,?,?,?,?,?)
E/SQLiteDatabase(4891): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
E/SQLiteDatabase(4891): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)

这是我的代码:

 public class DatabaseHandler extends SQLiteOpenHelper {
         public DatabaseHandler(Context context) {
              super(context, DATABASE_NAME, null, DATABASE_VERSION);
          }
                public SQLiteDatabase db;

        private static final int DATABASE_VERSION = 2;
        private static final String DATABASE_NAME = "dataManager";
        private static final String NAME_TABLE = "nametable";
        private static final String KEY_NAME = "name";
        private static final String KEY_HR = "firstName";
        private static final String KEY_IBI = "patientID";
        private static final String KEY_HMIN = "MinimumofHeartRate";
        private static final String KEY_HMAX = "MaximumofHeartRate";
        private static final String KEY_IMIN = "MinimumofIBI";
        private static final String KEY_IMAX = "MaximumofIBI";
        private static final String KEY_BMIN = "MinimumofBreathingRate";
        private static final String KEY_BMAX = "MaximumofBreathingRate";
            private  static final String TEXT_TYPE = " TEXT";
            private static final String COMMA_SEP = ", ";

         public long insertTitle(String name, String fname, String pid,
                  String hmin, String hmax, String imin, String imax, String bmin, String bmax) 
            {
            SQLiteDatabase db = this.getWritableDatabase();
                ContentValues values = new ContentValues();
                values.put(KEY_NAME, name);
                values.put(KEY_HR, fname);
                values.put(KEY_IBI, pid);
                values.put(KEY_HMIN, hmin);
                values.put(KEY_HMAX, hmax);
                values.put(KEY_IMIN, imin);
                values.put(KEY_IMAX, imax);
                values.put(KEY_BMIN, bmin);
                values.put(KEY_BMAX, bmax);

              return db.insert(DatabaseHandler.NAME_TABLE, null, values);
            }

        // Creating Tables
        @Override
        public void onCreate(SQLiteDatabase db) {


                 String DATABASE_CREATE_FIRST ="CREATE TABLE IF NOT EXISTS"+ NAME_TABLE
                          +"(" + KEY_NAME +TEXT_TYPE+ COMMA_SEP +
                          KEY_HR+TEXT_TYPE+ COMMA_SEP  + 
                          KEY_IBI +TEXT_TYPE+ COMMA_SEP+
                          KEY_HMIN+TEXT_TYPE+ COMMA_SEP+
                          KEY_HMAX+TEXT_TYPE+ COMMA_SEP+
                          KEY_IMIN+TEXT_TYPE+ COMMA_SEP+
                          KEY_IMAX+TEXT_TYPE+ COMMA_SEP+
                          KEY_BMIN+TEXT_TYPE+ COMMA_SEP+
                          KEY_BMAX+TEXT_TYPE+ COMMA_SEP+
                         ")";
                db.execSQL(DATABASE_CREATE_FIRST);

        }



  // Upgrading database
          @Override
            public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

                onCreate(db);
                onUpgrade(db, oldVersion, newVersion);

            }


        public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            onUpgrade(db, oldVersion, newVersion);
        }

    }

这是FragmentActivity的代码:

save.setOnClickListener(new OnClickListener() {

            @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            DatabaseHandler db = new DatabaseHandler(getActivity());
            db.getWritableDatabase();
            EditText firstName,name,patientID,minH,maxH,minI,maxI,minB,maxB;
            firstName=(EditText)myFragmentView.findViewById(R.id.FN);
            String firstnameofpatient=firstName.getText().toString();
            name=(EditText)myFragmentView.findViewById(R.id.name);
            String nameofpatient=name.getText().toString();
            patientID=(EditText)myFragmentView.findViewById(R.id.PID);
            String enterpatientid=patientID.getText().toString(); 
            minH=(EditText)myFragmentView.findViewById(R.id.Hmin);
            String numHM=minH.getText().toString();
            maxH=(EditText)myFragmentView.findViewById(R.id.Hmax);
            String numHX=maxH.getText().toString();
            minI=(EditText)myFragmentView.findViewById(R.id.Imin);
            String numIM=minI.getText().toString();
            maxI=(EditText)myFragmentView.findViewById(R.id.Imax);
            String numIX=maxI.getText().toString();
            minB=(EditText)myFragmentView.findViewById(R.id.Bmin);
            String numBM=minB.getText().toString();
            maxB=(EditText)myFragmentView.findViewById(R.id.Bmax);
            String numBX=maxB.getText().toString();

            db.insertTitle(firstnameofpatient,nameofpatient,  enterpatientid,numHM,
            numHX,numIM,numIX,numBM,numBX);
            //dataSource.read();

            db.close();

        }
    });
海浪

onCreate()有SQL语法错误:

String DATABASE_CREATE_FIRST ="CREATE TABLE IF NOT EXISTS"+ NAME_TABLE
                      +"(" + KEY_NAME +TEXT_TYPE+ COMMA_SEP +
                      KEY_HR+TEXT_TYPE+ COMMA_SEP  + 
                      KEY_IBI +TEXT_TYPE+ COMMA_SEP+
                      KEY_HMIN+TEXT_TYPE+ COMMA_SEP+
                      KEY_HMAX+TEXT_TYPE+ COMMA_SEP+
                      KEY_IMIN+TEXT_TYPE+ COMMA_SEP+
                      KEY_IMAX+TEXT_TYPE+ COMMA_SEP+
                      KEY_BMIN+TEXT_TYPE+ COMMA_SEP+
                      KEY_BMAX+TEXT_TYPE+ COMMA_SEP+
                     ")";
  • EXISTS和表名之间没有空格

  • 最后一列规范后的多余逗号。

所以:

String DATABASE_CREATE_FIRST ="CREATE TABLE IF NOT EXISTS "+ NAME_TABLE
                      +"(" + KEY_NAME +TEXT_TYPE+ COMMA_SEP +
                      KEY_HR+TEXT_TYPE+ COMMA_SEP  + 
                      KEY_IBI +TEXT_TYPE+ COMMA_SEP+
                      KEY_HMIN+TEXT_TYPE+ COMMA_SEP+
                      KEY_HMAX+TEXT_TYPE+ COMMA_SEP+
                      KEY_IMIN+TEXT_TYPE+ COMMA_SEP+
                      KEY_IMAX+TEXT_TYPE+ COMMA_SEP+
                      KEY_BMIN+TEXT_TYPE+ COMMA_SEP+
                      KEY_BMAX+TEXT_TYPE+
                     ")";

更改数据库架构以强制onCreate()再次调用时,请清理您的应用程序数据


编辑后添加注释:您onUpgrade()也已损坏。它无法对现有数据库进行任何修改,并且将导致无限递归(导致StackoverflowError)。轻松但会丢失数据的解决方案是to DROP TABLE tablename,然后致电onCreate()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android中的SQLite问题,“没有这样的表”错误

来自分类Dev

Android Sqlite“没有这样的表”错误

来自分类Dev

android sqlite没有这样的表

来自分类Dev

没有这样的表(Android SQLite)

来自分类Dev

Android SQLite(1)没有这样的表:查看错误

来自分类Dev

android P中的sqlite数据库错误“没有这样的表”

来自分类Dev

android.database.sqlite.SQLiteException:没有这样的表

来自分类Dev

SQLite在Android上没有这样的列错误

来自分类Dev

SQLite在Android上插入没有这样的列错误

来自分类Dev

SQLite Android没有这样的列错误

来自分类Dev

Android sqlite 更新错误没有这样的列

来自分类Dev

Android sqlitedatabase没有这样的表

来自分类Dev

没有这样的表:SQLiteOpenHelper Android

来自分类Dev

没有这样的表:SQLiteOpenHelper Android

来自分类Dev

Android SQLite错误:android.database.sqlite.SQLiteException:没有这样的列:(代码1)

来自分类Dev

android.database.sqlite.SQLiteException:表中没有这样的列

来自分类Dev

没有这样的表-在SQLite Android中插入值时出错

来自分类Dev

引起原因:android.database.sqlite.SQLiteException:没有这样的表,同时编译了DELETE FROM

来自分类Dev

如何解决Android Sqlite中没有这样的表错误

来自分类Dev

Android SQLite异常:没有这样的列

来自分类Dev

SQlite错误:“没有这样的表”

来自分类Dev

无法启动活动,android.database.sqlite.SQLiteException:没有这样的表,而在编译时:SELECT * FROM table

来自分类Dev

无法启动活动,android.database.sqlite.SQLiteException:没有这样的表,而在编译时:SELECT * FROM table

来自分类Dev

android.database.sqlite.SQLiteException:没有这样的列:highID(Sqlite 代码 1):

来自分类Dev

Android SQLiteException没有这样的列

来自分类Dev

Android sqlite数据库在更新查询时没有这样的列

来自分类Dev

没有这样的列:EPF(代码1 SQLITE_ERROR)Xamarin android

来自分类Dev

没有这样的列:在Android中编译sqlite时,rowId(代码1)

来自分类Dev

SQLite数据库错误:没有这样的表

Related 相关文章

  1. 1

    Android中的SQLite问题,“没有这样的表”错误

  2. 2

    Android Sqlite“没有这样的表”错误

  3. 3

    android sqlite没有这样的表

  4. 4

    没有这样的表(Android SQLite)

  5. 5

    Android SQLite(1)没有这样的表:查看错误

  6. 6

    android P中的sqlite数据库错误“没有这样的表”

  7. 7

    android.database.sqlite.SQLiteException:没有这样的表

  8. 8

    SQLite在Android上没有这样的列错误

  9. 9

    SQLite在Android上插入没有这样的列错误

  10. 10

    SQLite Android没有这样的列错误

  11. 11

    Android sqlite 更新错误没有这样的列

  12. 12

    Android sqlitedatabase没有这样的表

  13. 13

    没有这样的表:SQLiteOpenHelper Android

  14. 14

    没有这样的表:SQLiteOpenHelper Android

  15. 15

    Android SQLite错误:android.database.sqlite.SQLiteException:没有这样的列:(代码1)

  16. 16

    android.database.sqlite.SQLiteException:表中没有这样的列

  17. 17

    没有这样的表-在SQLite Android中插入值时出错

  18. 18

    引起原因:android.database.sqlite.SQLiteException:没有这样的表,同时编译了DELETE FROM

  19. 19

    如何解决Android Sqlite中没有这样的表错误

  20. 20

    Android SQLite异常:没有这样的列

  21. 21

    SQlite错误:“没有这样的表”

  22. 22

    无法启动活动,android.database.sqlite.SQLiteException:没有这样的表,而在编译时:SELECT * FROM table

  23. 23

    无法启动活动,android.database.sqlite.SQLiteException:没有这样的表,而在编译时:SELECT * FROM table

  24. 24

    android.database.sqlite.SQLiteException:没有这样的列:highID(Sqlite 代码 1):

  25. 25

    Android SQLiteException没有这样的列

  26. 26

    Android sqlite数据库在更新查询时没有这样的列

  27. 27

    没有这样的列:EPF(代码1 SQLITE_ERROR)Xamarin android

  28. 28

    没有这样的列:在Android中编译sqlite时,rowId(代码1)

  29. 29

    SQLite数据库错误:没有这样的表

热门标签

归档