Java 在数据库上保存项目时出错,android studio

Java 在数据库上保存项目时出错,android studio,java,android,sql,Java,Android,Sql,我在尝试放置新数据时遇到问题 我的代码: 思想管理者: public long createThought(Thought thought) // TWORZE NOWY ELEMENT W BAZIE DANYCH!!! { contentValues.put(ThoughtDbHelper.INDEXNUMBER, thought.getIndexNumber()); contentValues.put(ThoughtDbHelper.NAME, thought.getN

我在尝试放置新数据时遇到问题

我的代码:

思想管理者:

 public long createThought(Thought thought)  // TWORZE NOWY ELEMENT W BAZIE DANYCH!!!
{
    contentValues.put(ThoughtDbHelper.INDEXNUMBER, thought.getIndexNumber());
    contentValues.put(ThoughtDbHelper.NAME, thought.getName());
    contentValues.put(ThoughtDbHelper.TIME, thought.getTime());
    contentValues.put(ThoughtDbHelper.DATE, thought.getDate());
    contentValues.put(ThoughtDbHelper.GROUPCODE, thought.getGroupCode());
    contentValues.put(ThoughtDbHelper.IDPRINTFINGER, thought.getIDPrintfinger());
    contentValues.put(ThoughtDbHelper.AMOUNTOFPRESENCE, thought.getAmountOfPresence());

    return db.insert(ThoughtDbHelper.TABLE_NAME, null, contentValues);
}
DbHelper:

//Zmienne do mojej bazy danych
static final String INDEXNUMBER="indexnumber";
static final String NAME="name";
static final String GROUPCODE="groupcode";
static final String IDPRINTFINGER="idprintfinger";
static final String KEY="_id";
static final String AMOUNTOFPRESENCE="amountofpresence";
static final String DATE="date";
static final String TIME="time";
static final String TABLE_NAME="thought_tbl";
static final String DATABASE_NAME="thought_db.sql"; // nasza baza danych
static final int DATABASE_VERSION = 1; // wesja naszej bazy danych

private String QUERY_STRING="CREATE TABLE " + TABLE_NAME + " ( "+KEY
        + " INTEGER PRIMARY KEY AUTOINCREMENT , "+ INDEXNUMBER
        + " TEXT NOT NULL, " + NAME + " TEXT NOT NULL , " + TIME
        + " TEXT, " + DATE + " TEXT, " + GROUPCODE + " TEXT, " + IDPRINTFINGER
        + " TEXT, " + AMOUNTOFPRESENCE
        + " TEXT )";
我在课堂上尝试添加新数据时:

 case R.id.btnAddThought:
            if(requestReply!=null)
            {
                idPrintfinger=requestReply;
            }
            index=etIndex.getText().toString(); // Pobieram z pola tekstowe wpisane znaki i zapisuje je do zmiennej
            name=etName.getText().toString();
            groupcode=etGroup.getText().toString();

            thougt.setIndexNumber(index); // zapisuje w bazie poszczegolne elementy
            thougt.setName(name);
            thougt.setTime(time);
            thougt.setDate(date);
            thougt.setGroupCode(groupcode);
            thougt.setIDPrintfinger(idPrintfinger);
            thougt.setAmountOfPresence(amountOfPresence);

            manager.openForWrite(); // właczma odpcje zpaisywania na DYSK!
            long res=manager.createThought(thougt); // Zapisuje dane na DYSKU!
            if(res!=-1)
            {
               ClearFields();
            }
            break;
这是我的编辑日志,这个代码还有问题,可能是我瞎了什么的

3-23 18:00:27.084 24591-24591/com.example.iorwet.thoghtaplication     

E/SQLiteLog: (1) table thought_tbl has no column named groupcode
03-23 18:00:27.084 24591-24591/com.example.iorwet.thoghtaplication      

E/SQLiteDatabase: Error inserting groupcode=dasdasdada indexnumber=asdasddsdasd time=00:00 amountofpresence=0 idprintfinger=000 date=01.01.1990 name=asdada
                                                                                 android.database.sqlite.SQLiteException: table thought_tbl has no column named groupcode (code 1): , while compiling: INSERT INTO thought_tbl(groupcode,indexnumber,time,amountofpresence,idprintfinger,date,name) VALUES (?,?,?,?,?,?,?)
                                                                                     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
                                                                                     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
                                                                                     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
                                                                                     at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
                                                                                     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
                                                                                     at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
                                                                                     at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467)
                                                                                     at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
                                                                                     at com.example.iorwet.thoghtaplication.ThoughtManager.createThought(ThoughtManager.java:74)
                                                                                     at com.example.iorwet.thoghtaplication.AddThought.onClick(AddThought.java:138)
                                                                                     at android.view.View.performClick(View.java:4438)
                                                                                     at android.view.View$PerformClick.run(View.java:18422)
                                                                                     at android.os.Handler.handleCallback(Handler.java:733)
                                                                                     at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                     at android.os.Looper.loop(Looper.java:136)
                                                                                     at android.app.ActivityThread.main(ActivityThread.java:5001)
                                                                                     at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                     at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
                                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
                                                                                     at dalvik.system.NativeStart.main(Native Method)
3-23 18:00:27.084 24591-24591/com.example.iorwet.thoghtaplication
E/SQLiteLog:(1)表think\u tbl没有名为groupcode的列
03-23 18:00:27.084 24591-24591/com.example.iorwet.thoghtapplication
E/SQLiteDatabase:插入groupcode=dasdada indexnumber=asdasdsd time=00:00 amountofpresence=0 idprintfinger=000 date=01.01.1990 name=asdada时出错
android.database.sqlite.SQLiteException:table think_tbl没有名为groupcode(代码1)的列,编译时:INSERT-INTO think_tbl(groupcode、indexnumber、time、amountofpresence、idprintfinger、date、name)值(?,,,,,,,,,?)
位于android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
位于android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
位于android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
位于android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
位于android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
位于android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
位于android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467)
位于android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
位于com.example.iorwet.thoughtapplication.ThoughtManager.createThink(ThoughtManager.java:74)
在com.example.iorwet.thoghtaplication.addthink.onClick上(addthink.java:138)
在android.view.view.performClick上(view.java:4438)
在android.view.view$PerformClick.run(view.java:18422)
位于android.os.Handler.handleCallback(Handler.java:733)
位于android.os.Handler.dispatchMessage(Handler.java:95)
位于android.os.Looper.loop(Looper.java:136)
位于android.app.ActivityThread.main(ActivityThread.java:5001)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:515)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
在dalvik.system.NativeStart.main(本机方法)

您的表中没有列“
组”
think\u tbl
但您正在尝试为该列插入一些值

 contentValues.put(ThoughtDbHelper.GROUP, thought.getGroup());

这就是为什么您会得到
SQLiteException
异常。

看起来您有一个名为“group”的列,它是一个关键字

指定大量关键字,这些关键字不能用作表、索引、列、数据库、用户定义函数、排序规则、虚拟表模块或任何其他命名对象的名称


尝试将列名更改为其他名称。

我编辑代码时,在ThoughtDbHelper中输入了错误的代码。你能再看一遍吗?我犯了同样的错误。您正在为contentValues.put(ThoughtDbHelper.GROUP,think.getGroup())插入值;但是你有一列“groupcode”,我把它改成了我的代码,但它没有;不工作;/我有群码,我两个都犯了很容易犯的错误,但我没有/更改contentValues.put(ThoughtDbHelper.GROUP,think.getGroup());到contentValues.put(ThoughtDbHelper.GROUPCODE,think.getGroup());他已经把专栏改成了“群码”,然后他也面临着这个问题。