
尝试将项目插入数据库时出现错误.
这是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(?,?,?);所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)