【发布时间】:2018-02-12 23:03:48
【问题描述】:
在我得到的Logicat中,我已经使用navicat在数据库中创建了我的表
进程:sspldatacollection.rt.mils.sspldatacollection,PID:23888 java.lang.RuntimeException:无法启动活动 组件信息{sspldatacollection.rt.mils.sspldatacollection/sspldatacollection.rt.mils.sspldatacollection.Activity.BccListActivity}: android.database.sqlite.SQLiteException:没有这样的表:密件抄送(代码 1): ,编译时:SELECT * FROM bcc ################################################## ############### 错误代码:1(SQLITE_ERROR) 原因:SQL(查询)错误或缺少数据库。 (没有这样的表:bcc(代码1):,编译时:SELECT * FROM bcc)
下面是代码
package sspldatacollection.rt.mils.sspldatacollection.Databse;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
import sspldatacollection.rt.mils.sspldatacollection.Constant;
import sspldatacollection.rt.mils.sspldatacollection.Model.Form;
import sspldatacollection.rt.mils.sspldatacollection.Model.Bcc;
import sspldatacollection.rt.mils.sspldatacollection.Model.User;
public class DatabaseAccess {
private SQLiteOpenHelper openHelper;
private SQLiteDatabase database;
private static DatabaseAccess instance;
/**
* Private constructor to aboid object creation from outside classes.
*
* @param context
*/
private DatabaseAccess(Context context) {
this.openHelper = new DatabaseOpenHelper(context);
}
/**
* Return a singleton instance of DatabaseAccess.
*
* @param context the Context
* @return the instance of DabaseAccess
*/
public static DatabaseAccess getInstance(Context context) {
if (instance == null) {
instance = new DatabaseAccess(context);
}
return instance;
}
/**
* Open the database connection.
*/
public SQLiteDatabase open() {
this.database = openHelper.getWritableDatabase();
return this.database;
}
/**
* Close the database connection.
*/
public void close() {
if (database != null) {
this.database.close();
}
}
/**
* Read all quotes from the database.
*
* @return a List of quotes
*/
public List<User> getUsers() {
List<User> list = new ArrayList<>();
Cursor cursor = database.rawQuery("SELECT * FROM user", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
User u=new User(cursor.getString(0),cursor.getString(1));
list.add(u);
cursor.moveToNext();
}
cursor.close();
return list;
}
public List<Form> getForm() {
String userid5 = Constant.preferences.getString(Constant.USERID, "");
List<Form> list = new ArrayList<>();
Cursor cursor = database.rawQuery("SELECT * FROM form", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Form u=new Form(cursor.getString(0),cursor.getString(1),cursor.getString(2),cursor.getString(3),cursor.getString(4),cursor.getString(5),cursor.getString(6),cursor.getString(7),cursor.getString(8),cursor.getString(9),cursor.getString(10),cursor.getString(11),cursor.getString(12),cursor.getString(13),cursor.getString(14),cursor.getString(15),cursor.getString(16),cursor.getString(17),cursor.getString(18),cursor.getString(19),cursor.getString(20),cursor.getString(21),cursor.getString(22),cursor.getString(23),cursor.getString(24),cursor.getString(25),cursor.getString(26),cursor.getString(27),cursor.getString(28),cursor.getString(29),cursor.getString(30),cursor.getString(31),cursor.getString(32),cursor.getString(33));
list.add(u);
cursor.moveToNext();
}
cursor.close();
return list;
}
public List<Bcc> getBcc() {
String userid5 = Constant.preferences.getString(Constant.USERID, "");
List<Bcc> list = new ArrayList<>();
Cursor cursor = database.rawQuery("SELECT * FROM bcc", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()) {
Bcc u=new Bcc(cursor.getString(0), cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4), cursor.getString(5), cursor.getString(6), cursor.getString(7), cursor.getString(8), cursor.getString(9), cursor.getString(10), cursor.getString(11), cursor.getString(12), cursor.getString(13), cursor.getString(14), cursor.getString(15), cursor.getString(16), cursor.getString(17), cursor.getString(18), cursor.getString(19), cursor.getString(20), cursor.getString(21), cursor.getString(22), cursor.getString(23), cursor.getString(24), cursor.getString(25), cursor.getString(26), cursor.getString(27), cursor.getString(28), cursor.getString(29), cursor.getString(30), cursor.getString(31), cursor.getString(32), cursor.getString(33), cursor.getString(34), cursor.getString(35), cursor.getString(36), cursor.getString(37), cursor.getString(38), cursor.getString(39), cursor.getString(40), cursor.getString(41), cursor.getString(42), cursor.getString(43), cursor.getString(44), cursor.getString(45), cursor.getString(46), cursor.getString(47), cursor.getString(48), cursor.getString(49), cursor.getString(50), cursor.getString(51), cursor.getString(52), cursor.getString(53), cursor.getString(54), cursor.getString(55), cursor.getString(56), cursor.getString(57), cursor.getString(58), cursor.getString(59), cursor.getString(60), cursor.getString(61), cursor.getString(62), cursor.getString(63), cursor.getString(64), cursor.getString(65), cursor.getString(66), cursor.getString(67), cursor.getString(68), cursor.getString(69), cursor.getString(70), cursor.getString(71), cursor.getString(72), cursor.getString(73), cursor.getString(74), cursor.getString(75), cursor.getString(76), cursor.getString(77), cursor.getString(78), cursor.getString(79), cursor.getString(80), cursor.getString(81), cursor.getString(82), cursor.getString(83));
list.add(u);
cursor.moveToNext();
}
cursor.close();
return list;
}
}
我也忘了提到我已经将表从 mySQL 导入到 Navicat 中的 SQLite
【问题讨论】:
-
向我们展示代码
-
代码已添加
-
Navicat 中的内容是如何进入应用程序的?您可能希望使用logDatabaseInfo,这很可能表明该应用程序与 NaviCat 中的内容不同步,并且表 bcc 不存在。修复可能很简单,比如删除应用的数据或卸载应用。
-
谢谢一百万,真的,卸载并重新安装应用程序就这么简单。