我收到这个错误 -
07-03 12:29:18.643: E/SQLiteLog(5181): (1) table accounts has no column named otherNotes
这是我的代码:
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "accountsManager";
private static final String TABLE_ACCOUNTS = "accounts";
private static final String KEY_ID = "id";
private static final String KEY_TITLE = "title";
private static final String KEY_USERID = "userId";
private static final String KEY_PASSWORD = "password";
private static final String KEY_LOGINURL = "loginUrl";
private static final String KEY_OTHERNOTES = "otherNotes";
public DatabaseHandler(Context context) …Run Code Online (Sandbox Code Playgroud) 我正在创建一个使用SQLiteDatabase来存储项目的应用程序ListView.但是,在填充数据库中的数据时出现错误ListView,应用程序崩溃.
这是我的数据库 -
import java.util.ArrayList;
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;
public class NotesDatabase extends SQLiteOpenHelper {
private static final String NOTE_NAME = "name";
private static final String NOTE_ID = "id";
private static final String NOTE_SUBJECT = "subject";
private static final String DATABASE_NAME = "notesDatabase";
private static final String TABLE_NOTES = "notes";
private static final int DATABASE_VERSION = 1;
private static final String CREATE_NOTES_TABLE = "CREATE TABLE " + TABLE_NOTES …Run Code Online (Sandbox Code Playgroud) 我正在开发应用程序的第二个版本。我正面临一个问题。
在我的应用程序中,数据库位于资产文件夹中。现在,我想从第二个版本中的assets文件夹更新数据库。
我尝试将代码升级为:
// Data Base Version.
private static final int DATABASE_VERSION = 2;
Run Code Online (Sandbox Code Playgroud)
我将版本从1更改为2。
//构造函数
public DataBaseHelperClass(Context myContext) {
super(myContext, DATABASE_NAME, null ,DATABASE_VERSION);
this.context = myContext;
//The Android's default system path of your application database.
DB_PATH = "/data/data/com.example.myapp/databases/";
}
Run Code Online (Sandbox Code Playgroud)
//创建数据库
public void createDataBase() throws IOException{
//check if the database exists
boolean databaseExist = checkDataBase();
if(databaseExist){
this.getWritableDatabase();
}else{
this.getReadableDatabase();
try{
copyDataBase();
} catch (IOException e){
throw new Error("Error copying database");
}
}// end if else dbExist
} // end createDataBase(). …Run Code Online (Sandbox Code Playgroud) 我正在制作一个应用程序,我想保存用户的联系人详细信息.但每当我尝试插入或选择一些值我得到一个错误.
DataBasae代码
public class ContactsDatabase extends SQLiteOpenHelper {
private static final int dbVersion = 1;
private static final String dbName = "HSsuraksha";
private static final String tableName = "contactsDetails";
private static final String contactId = "contactId";
private static final String groupId = "groupId";
private static final String groupGroupId = "groupId";
private static final String groupTable = "groupDetails";
private static final String contactName = "contactName";
private static final String contactNumber = "contactNumber";
private static final String createTable = "Create Table " …Run Code Online (Sandbox Code Playgroud) 问题(LogCat)
sqlite返回:错误代码= 1,msg =没有这样的表...
android.database.sqlite.SQLiteException:没有这样的表:....
码
public void onCreate(SQLiteDatabase db) {
Log.v("SQLAdapter","onCreate(SQLiteDatabase db)");
db.execSQL("CREATE TABLE "+tablename
+" ("
+col1+ " TEXT PRIMARY KEY , "
+col2+ " TEXT , "
+col3+ " TEXT , "
+col4+ " TEXT , "
+col5+ " TEXT , "
+col6+ " TEXT , "
+col7+ " TEXT , "
+col8+ " TEXT "
+")");
db.execSQL("CREATE TABLE "+configTable
+" ("
+colName+ " TEXT PRIMARY KEY , "
+colValue+ " TEXT "
+")");
ContentValues cv=new …Run Code Online (Sandbox Code Playgroud) 我需要创建一个包含3个表的数据库,我这样做如下:
public class DatabaseUtils extends SQLiteOpenHelper {
private final Context myContext;
private SQLiteDatabase DataBase;
// Database creation sql statement
private static final String CREATE_TABLE_CS = "create table "+ TABLE_CS + "(" + COLUMN_CS + " TEXT NOT NULL, " + COLUMN_CE_CID + " INTEGER NOT NULL, "+ COLUMN_CE_PID +" INTEGER NOT NULL);";
private static final String CREATE_TABLE_SS = "create table "+ TABLE_SS + "(" + COLUMN_SS + " TEXT NOT NULL, " + COLUMN_SUB_CID + " INTEGER NOT NULL, "+ …Run Code Online (Sandbox Code Playgroud) 我正在尝试在旧的sqlite数据库表中添加新列。这些表是动态的。我的意思是,它们是在应用程序用户在应用程序中添加特定数据时创建的。
表名称具有类似的后缀。前缀取决于用户输入。现在,在android中,如何在不丢失先前数据的情况下在这些表中添加新列?
即使在卸载应用程序然后重新安装它之后,也不会调用onCreate方法.
Database.java:
public class Database extends SQLiteOpenHelper {
public static SQLiteDatabase db;
public Database(Context context) {
super(context,"db", null, 1);
Log.i("DB", "dbManager");
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.i("DB", "dbOnCreate");
String s = "CREATE TABLE test(id INTEGER);";
db.execSQL(s);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
Log.i("DB", "dbOnUpgrade");
}
}
Run Code Online (Sandbox Code Playgroud)
我这叫:
Database db = new Database(this);
Run Code Online (Sandbox Code Playgroud)
输出:
07-17 12:42:03.053 16448-16448/com.package.app I/DB:dbManager
这个问题是什么以及如何解决?
这是我的数据库帮助程序类的代码,任何人都可以告诉我,我在做什么错误,表中没有添加电子邮件列,每次我收到错误,表没有cloumn名称person_email
package com.example.and;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class AndroidOpenDbHelper {
private static final String TAG = AndroidOpenDbHelper.class.getSimpleName();
// database configuration
// if you want the onUpgrade to run then change the database_version
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "mydatabase.db";
// table configuration
private static final String TABLE_NAME = "person_table"; // Table name
private static final String PERSON_TABLE_COLUMN_ID = "_id"; // a column named "_id" …Run Code Online (Sandbox Code Playgroud) 在此处将数据插入 sqlite 时出错是堆栈跟踪
E/SQLiteDatabase: Error inserting addhar_number=test profile_pic=null token=null name=Nikhil Patil email=niks34547@gmail.com phone= profile_pic_bg=null gender=test birthday=test
android.database.sqlite.SQLiteException: table user has no column named addhar_number (code 1): , while compiling: INSERT INTO user(addhar_number,profile_pic,token,name,email,phone,profile_pic_bg,gender,birthday) 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:1472)
at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1343)
at com.wowoni.bikesharing.bicyclesharing.Helper.SQliteHandler.addUser(SQliteHandler.java:88)
at com.wowoni.bikesharing.bicyclesharing.activity.HomeActivity.loadNavHeader(HomeActivity.java:227)
at com.wowoni.bikesharing.bicyclesharing.activity.HomeActivity.onCreate(HomeActivity.java:129)
at android.app.Activity.performCreate(Activity.java:6684)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2652)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2766)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1507)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6229)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:891) …Run Code Online (Sandbox Code Playgroud)