select-android 查询时报错 no such table 是什么原因?

问题描述

android 查询时报错 no such table 是什么原因?

放在raw下的数据库确实存在的 表也在
下面是日志:
17822-17822/com.example.zwy.gaexam E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.zwy.gaexam/com.example.zwy.gaexam.activity.Layout_InOrderTo}: android.database.sqlite.SQLiteException: no such table: singleselect (code 1): , while compiling: SELECT id, title, one, two, three, four, answer FROM singleselect WHERE id>0

Caused by: android.database.sqlite.SQLiteException: no such table: singleselect (code 1): , while compiling: SELECT id, title, one, two, three, four, answer FROM singleselect WHERE id>0
这是写的一个类
ConstantInfo {
public static final String database_path = "/data/data/com.example.zwy.gaexam/databases/exam";
public static final int DBVERSION = 7;
public static final String author = "com.example.zwy.gaexam";
public static final String tablename0 = "singleselect";// 单选题目
public static final String path0 = "content://" + author + "/" + tablename0;
public static final int TABLE_TYPE0 = 1000;
public static final String INFO_TABLE_TYPE0 = "vnd.android.cursor.dir/"
+ tablename0;
public static final Uri uri0 = Uri.parse(path0);
}

解决方案

"/data/data/com.example.zwy.gaexam/databases/exam,你的数据库是这个路径可是你怎么读进去呢 ?手机的这个路径文件是私有的,如果是你自己
的手机也行,将该文件权限给改了,但是如果是给别人用,你难道还要改别人手机data目录权限吗?所以你在raw下的数据库读取到data路径下是不行的;
只有老老实实的用android提供的api和方法创建数据库;你可以再多试几天,如果行不通就照我说的试试;

如果回答对您有帮助,请采纳

解决方案二:

你需要添加数据库创建表的语句。Create TABLE

解决方案三:

没有这张表 singleselect

解决方案四:

这个表找不到,如果是系统的 要找到代表其的uri 然后通过contentprovider来访问

解决方案五:

表确实存在的话换个表名试一下

解决方案六:

遇到过这个问题,很有可能是因为你自己创建的数据库无法被识别的原因,比如说你创建sqlite版本与你安卓所用的版本是不一致所导致的。

具体的办法我是直接是用DbHelper来创建的

package sqliteTest;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class DbHelper extends SQLiteOpenHelper{

public DbHelper(Context context, String name, CursorFactory factory,
        int version) {
    super(context, name, factory, version);
    // TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase db) {
    // TODO Auto-generated method stub
    db.execSQL("create table q_a(question text ,answer text);");
    db.execSQL("insert into q_a  values('初次使用指南','"
            + "小白可以无视以下说明  不影响正常的使用"
            + "数据库使用的是Sqlite3"
            + "(数据库的表格格式是Q and A 也就是一问一答的形式)"
            + "初次使用的时候会默认在安装目录下创建一个新的数据库文件(the_resource_for_fast_flip.db)"
            + "默认数据库的文件目录为/data/data/com.example.FastFlip/database/the_resource_for_fast_flip.db"
            + "需要ROOT权限才可以访问   "
            + "如果需要将数据库放在别的位置的同学"
            + "可以将上述文件剪切到sd卡上"
            + "并在菜单目录下指定目录地址"
            + "比如我要将文件移动到sd1下的FastFlip文件夹"
            + "只要指定/sdcard1/FastFlip/xxx.db即可')");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // TODO Auto-generated method stub

}

public static void getInstance(Context context)
{

}

}

 使用DbHelper创建的数据库和插入的数据库均在首次运行时执行一次,以后都不再执行,比如说在这段代码中我执行了一次创建数据库和插入数据库一条信息,以后都不会再插入了。

 另外数据库提取出来后如果用电脑编辑,也很有可能因为电脑上sqlite版本与安卓不同导致编辑后无法使用喔!要注意这一点。

解决方案七:

没有这张表。。。。。。。。。。。

时间: 2024-10-28 08:01:42

select-android 查询时报错 no such table 是什么原因?的相关文章

应用-用Qt生成android程序时报错找不到库

问题描述 用Qt生成android程序时报错找不到库 先是用qt写了一个桌面版的应用程序,也导入了库,生成并没有问题.但在用qt写android程序时, 导入了同样的库,生成时却报错说:cannot find -lSDL等等,请问这是什么问题? 解决方案 不知道楼主是不是这个问题http://www.cnblogs.com/findumars/p/4982802.html PS:用SDL2吧,不要用SDL1.x版本了,SDL2的接口更好用,不用设外部环境变量

通讯连接-android程序连接时报错跳出

问题描述 android程序连接时报错跳出 我现在做的socket实现模拟器和pc通讯,但是在模拟器连接不上pc时(我有意不让他连上的)程序会报错退出,而我想要实现的是,程序不退出只是进行一个画面报错功能,这要如何实现 解决方案 catch(Exception e) { Toast.makeText(MainActivity.this, "连接失败", Toast.LENGTH_SHORT).show(); } 这个Exception 改为 throwable 解决方案二: 要求是程序

eclipse+selenium运行时报错,求高手找出原因

问题描述 eclipse+selenium运行时报错,求高手找出原因 package ex8Test; import java.util.regex.Pattern;import java.util.concurrent.TimeUnit;import org.junit.*;import static org.junit.Assert.*;import static org.hamcrest.CoreMatchers.*;import org.openqa.selenium.*;import

Android集成时报错

问题描述 提示找不到com.hyphenate.chat.EMChatServicecom.hyphenate.chat.EMMonitorReceiver 试过重新粘贴包进去.但还是一样 解决方案 <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"这一行权限代码也报错

Android使用Handler进行实例化(new)时报错的原因及解决方法

Android使用Handler进行实例化(new)时, 如: private Handler handler = new Handler(); 会报错"Handler is abstract, cannot be instantiated.", 提示使用, 其他实例化方式. 原因: 导入(import)库发生错误, 使用Android的句柄(handler)库, 不是java的句柄库; 使用"import android.os.Handler;" 代替 "

SQL 2000自定义函数调用GETDATE()时报错

在SQL 2000数据库里的自定义函数中调用GETDATE()时,结果编译时报错,提示错误如下:Invalid use of 'getdate' within a function 我给个测试例子如下所示, --================================================================================================ -- Author : Kerry -- CreateDate : 2011-03-23 --

android-Android proguard 时报错,Duplicate zip entry

问题描述 Android proguard 时报错,Duplicate zip entry FAILURE: Build failed with an exception. What went wrong: Execution failed for task ':0.2phone:proguardRelease'. > java.io.IOException: Can't write D:.2phonebuildintermediatesclasses-proguardreleaseclasse

db2递归结果集作为查询条件时报错

问题描述 db2递归结果集作为查询条件时报错 递归在db2中没有问题,但要是把递归的结果作为查询条件时会报错,如:SELECT T.inst_id FROM BAPP_INST T WHERE exists (select 1 from (WITH area(parent_area_id area_id) AS (SELECT parent_area_id area_id FROM fox_pboc_area WHERE area_simple_name = '廊坊市' UNION ALL SE

急,求高手!!hive在向整合hbase的分区表插入数据时报错:Must specify table

问题描述 急,求高手!!hive在向整合hbase的分区表插入数据时报错:Must specify table hadoop版本:hadoop-2.7.12.7.1 hbase版本:hbase-1.1.2 hive版本:apache-hive-2.0.0-bin 本人是新手,在整合了hive和hbase之后,我在hive中创建了一张关联了hbase表的分区表,然后在向表插入数据的时候报错了,下面是插入语句和报错,求懂的人解答. visited_in_hive是关联了hbase表,准备插入数据的表