android-table game没有名为title:的列,而在编译时:INSERT INTO game(title,rating,info)VALUES(?,?,?);

android-table game没有名为title:的列,而在编译时:INSERT INTO game(title,rating,info)VALUES(?,?,?);,第1张

概述尝试将项目插入数据库时​​出现错误.这是Logcat读取的内容:android.database.sqlite.SQLiteExceptiontablegamehasnocolumnnamedtitle:,whilecompiling:INSERTINTOgame(title,rating,info)VALUES(?,?,?);这是我的数据库管理器:packagecom.herring.andro

尝试将项目插入数据库时​​出现错误.

这是Logcat读取的内容:

androID.database.sqlite.sqliteException table game has no column named Title: , while compiling: INSERT INTO game(Title, rating, info)  VALUES (?, ?, ?);

这是我的数据库管理器:

package com.herring.androID.finalproject;import androID.content.ContentValues;import androID.content.Context;import androID.database.Cursor;import androID.database.sqlException;import androID.database.sqlite.sqliteDatabase;import androID.database.sqlite.sqliteOpenHelper;import androID.util.Log;public class GameDataBaseManager {    private DatabaseHelper mDbHelper;    private sqliteDatabase mDb;    private static final String DATABASE_name = "data";    private static final int DATABASE_VERSION = 1;      private final Context mCtx;    private static final String GAME_table_name = "game";    public static final String KEY_ROWID = "_ID";    public static final String KEY_Title = "Title";    public static final String KEY_BODY = "info";    public static final String KEY_rating = "rating";    private static final String GAME_table_CREATE = "create table " + GAME_table_name + " ( " +             KEY_ROWID + " INTEGER PRIMARY KEY autoINCREMENT, " +             KEY_Title + " TEXT NOT NulL, " +            KEY_BODY + " TEXT NOT NulL, " +             KEY_rating + " NUM NOT NulL );";    public GameDataBaseManager(Context ctx)    {        this.mCtx = ctx;    }    public long addRow(String rowStringOne, String rowStringTwo, float rating)    {        ContentValues values = new ContentValues();        values.put(KEY_Title, rowStringOne);        values.put(KEY_BODY, rowStringTwo);        values.put(KEY_rating, rating);        return mDb.insert(GAME_table_name, null, values);    }    public voID deleteRow(long rowID)    {        try        {            mDb.delete(GAME_table_name, KEY_ROWID + " = " + rowID, null);        }        catch(Exception e)        {            Log.e("DB ERROR", e.toString());            e.printstacktrace();        }    }    public GameDataBaseManager open() throws androID.database.sqlException    {        mDbHelper = new DatabaseHelper(mCtx);        mDb = mDbHelper.getWritableDatabase();        return this;    }    public voID close()    {        mDbHelper.close();    }    public Cursor getAllGames()    {        return mDb.query(GAME_table_name, null, null,                null, null, null, null);    }    public Cursor fetchGame(long rowID) throws sqlException    {        Cursor mCursor = mDb.query(true, GAME_table_name, new String[]{KEY_ROWID, KEY_Title, KEY_BODY, KEY_rating},                 KEY_ROWID + "=" + rowID, null, null, null, null, null);        if(mCursor != null)        {            mCursor.movetoFirst();        }        return mCursor;    }    public boolean updateDb(long rowID, String Title, String body, String rating)    {        ContentValues args = new ContentValues();        args.put(KEY_Title, Title);        args.put(KEY_BODY, body);        args.put(KEY_rating, rating);        return mDb.update(GAME_table_name, args, KEY_ROWID + " = " + rowID, null) > 0;    }    public class DatabaseHelper extends sqliteOpenHelper {        public DatabaseHelper(Context context) {            super(context, DATABASE_name, null, DATABASE_VERSION);        }        @OverrIDe        public voID onCreate(sqliteDatabase db) {            db.execsql(GAME_table_CREATE);        }        @OverrIDe        public voID onUpgrade(sqliteDatabase db, int oldVersion, int newVersion) {        }    }}

这是我尝试在其中插入项目的活动:

package com.herring.androID.finalproject;import androID.app.Activity;import androID.database.Cursor;import androID.os.Bundle;import androID.Widget.ListVIEw;import androID.Widget.SimpleCursorAdapter;public class topRatedActivity extends Activity {    private Cursor gamesCursor;    private ListVIEw lv;    private GameDataBaseManager mDbHelper;    public voID onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        mDbHelper = new GameDataBaseManager(this);        mDbHelper.open();        mDbHelper.addRow("Game", "Info", 0);        setContentVIEw(R.layout.toprated);        fillData();    }    private voID fillData()    {        gamesCursor = mDbHelper.getAllGames();        startManagingCursor(gamesCursor);        String[] from = new String[]{GameDataBaseManager.KEY_Title};        int[] to = new int[]{R.ID.text1};        SimpleCursorAdapter games = new SimpleCursorAdapter(this, R.layout.toprateditem, gamesCursor, from, to);        lv.setAdapter(games);    }}

任何帮助将不胜感激.

解决方法:

您的数据库中有一个名为“游戏”的表.但是它没有称为“标题”的列.您可以尝试删除整个数据库,然后重新创建它.

总结

以上是内存溢出为你收集整理的android-table game没有名为title:的列,而在编译时:INSERT INTO game(title,rating,info)VALUES(?,?,?);全部内容,希望文章能够帮你解决android-table game没有名为title:的列,而在编译时:INSERT INTO game(title,rating,info)VALUES(?,?,?);所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1085070.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存