标签: sqliteopenhelper

从现有的sqlite数据库中获取数据

我有一个现有的sqlite数据库.我正在开发一个Android应用程序,我想将它与现有的sqlite DataBase连接.

问题1: 根据我的讲师的建议,我已经通过"DDMS推送数据库功能"在我的项目中包含了sqlite数据库.现在我想从数据库中获取数据,我是否需要使用SQLiteOpenHelper.如果是,如何使用它以及将在onCreate(SQLiteDatabase db)函数和onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion)函数中编码的函数,因为我们已经拥有了数据库,我们并不需要创建它.

问题2: 如何从现有数据库中获取所需数据应该怎么做.

作为一个新手,我很困惑,有人可以解释这些概念,并指导我克服这个问题.任何帮助,将不胜感激.

我已经看到了@TronicZomB提出的教程,但是根据本教程(http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/) ,我必须将所有带有主键字段的表作为_id.

我有7个表,即目的地,事件,旅游,tour_cat,tour_dest,android_metadata和sqlite_sequence.总而言之,只有tour_dest不满足具有名为_id的主键的条件.怎么弄清楚这一个?

以下是表的屏幕截图,该表缺少绑定数据库表的id字段所需的主键字段. 表的屏幕截图缺少绑定数据库表的id字段所必需的主键字段.

sqlite android ddms sqliteopenhelper

0
推荐指数
1
解决办法
1万
查看次数

SQLiteException:插入数据库时​​出错:语法错误(代码1)

我相信错误在于我设置DATABASE_CREATE的方式.我在这里错过了什么吗?我得到SQLiteException,其中long id = -1.如果我提供足够的细节,请告诉我.我试过设置KEY_ID ="_ id";

E/SQLiteLog(2385): (1) near "group": syntax error
E/SQLiteDatabase(2385): Error inserting group=demo
E/SQLiteDatabase(2385): android.database.sqlite.SQLiteException: near "group": syntax error (code 1): , while compiling: INSERT INTO groups(group) VALUES (?)
LOG(2385): Inserting record...
LOG(2385): mGroupName = demo
LOG(2385): long id = -1
Run Code Online (Sandbox Code Playgroud)

DBAdapter.java

public static final String KEY_ID = "id";
public static final String KEY_GROUP_NAME = "group";
public static final String TAG = "DBAdapter";
public static final String DATABASE_NAME = "GroupsDB";
public static final String DATABASE_TABLE = "groups"; …
Run Code Online (Sandbox Code Playgroud)

sql sqlite android sqliteopenhelper android-sqlite

0
推荐指数
1
解决办法
2119
查看次数

在特定文件夹android上创建sqlite数据库

嗨,我有一个与数据库有关的问题

在我的项目中,我需要在特定的文件夹中建立数据库,所以任何伙伴都可以告诉我哪里错了

此类在以下位置创建数据库 /data/data/package_folder/database_name

我想将其更改为 sdcard/database_folder/database_name

请检查我下面的代码

    package com.example.qrcode.data;
    public class LocalDatabase extends SQLiteOpenHelper {

    public static final int DATABASE_VERSION = 1;

    // database name
    public static final String DATABASE_NAME = "qrcode_database";

    // table name
    public static final String TABLE_NAME = "scan_result";

    // table field name
    public static final String COLUMN_ID = "id";
    public static final String COLUMN_NAME = "scan_url";

    public static final String SAVE_TABLE_NAME = "DEVICE";

    public static final String SAVE_COLUMN_ID = "ID";
    public static final String SAVE_COLUMN_NAME = …
Run Code Online (Sandbox Code Playgroud)

android listview sqliteopenhelper android-sqlite

0
推荐指数
1
解决办法
6381
查看次数

Android API 10上的Java.Lang.VerifyError

在使用api 10在仿真器Nexus S Platform 2.3.3上执行android app时出现以下错误.它适用于带有api 18的Nexus 4 Android 4.3.AppDatabase扩展了SQLiteOpenHelper.

码:

 public class AppController extends Application {

     [...]

     private static AppDatabase mDbo;

     [...]
     try {
         // Here comes the crash, it crashes immediately, i cannot step into 
         mDbo = new AppDatabase( AppDatabase.NAME,null, new AppSQLiteCursor(),AppDatabase.VERSION) ;

      }
  }
Run Code Online (Sandbox Code Playgroud)

错误堆栈跟踪:

12-14 23:04:01.996    1372-1372/com.example.myapp E/APP_ERROR? VerifyError raised!
    java.lang.VerifyError: com.example.myapp.database.AppDatabase
            at com.example.myapp.AppController.onCreate(AppController.java:85)
            at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:969)
            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3272)
            at android.app.ActivityThread.access$2200(ActivityThread.java:117)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:969)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:130)
            at android.app.ActivityThread.main(ActivityThread.java:3683)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:507)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
            at …
Run Code Online (Sandbox Code Playgroud)

android verifyerror sqliteopenhelper

0
推荐指数
1
解决办法
580
查看次数

创建db时出现sqlite异常

我试图使用以下sqlite查询创建表.

private static final String CREATE_EMPLOYEE_TABLE = "CREATE TABLE " + TABLE_EMPLOYEE + "("
            + KEY_DOMAIN_ID + " INTEGER PRIMARY KEY,"
            + KEY_FROM + " TEXT,"
            + KEY_TO + " TEXT" + ")";

private static final String CREATE_GROUPS_TABLE = "CREATE TABLE " + TABLE_GROUPS + "("
        + KEY_USERID + " INTEGER PRIMARY KEY,"
        + KEY_NAME + " TEXT,"
        + KEY_SESSION_TOKEN + " TEXT,"
        + KEY_GROUP_ID + " TEXT,"
        + KEY_GROUP_NAME + " TEXT" + ")";`
Run Code Online (Sandbox Code Playgroud)

我使用以下代码向db添加元素,

db.addEmployees(new Employee(id,from,to));
db.addGroup(new Group(Integer.valueOf(userId),name,session,groupId,groupName)); …
Run Code Online (Sandbox Code Playgroud)

android sqliteopenhelper

0
推荐指数
1
解决办法
103
查看次数

编译时创建表附近的SQLiteDatabase语法错误(代码1)

我正在创建一个简单的预算管理应用程序.为了存储预算详细信息,我创建了一个表.这是我的DataBaseHelper类:

package com.example.rajkumar.budget;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.content.Context;

public class DatabaseHelper extends SQLiteOpenHelper {
   private static final int DATABASE_VERSION=1;
   private static final String DATABASE_NAME="SQLiteDatabase.db",
   TABLE_NAME="MyBudget";
   public static final String COLUMN_FIRST_NAME="NAME", 
   COLUMN_TWO_NAME="BUDGET_NAME",
   COLUMN_THREE_NAME="LIMIT";
   public DataBaseHelper(Context context){
   super(context,DATABASE_NAME,null,DATABASE_VERSION);
}
    public void onCreate(SQLiteDatabase db){
    db.execSQL("CREATE TABLE" + TABLE_NAME + "(" + COLUMN_FIRST_NAME + "VARCHAR," + COLUMN_TWO_NAME
            + "VARCHAR," + COLUMN_THREE_NAME + "DECIMAL);");
}
public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
    db.execSQL("DROP TABLE IF EXISTS"+TABLE_NAME);
    onCreate(db);
}
 public boolean addBudget(String …
Run Code Online (Sandbox Code Playgroud)

android sqliteopenhelper android-activity android-sqlite

-3
推荐指数
1
解决办法
1228
查看次数