SQLite在模拟器6.0不能创建表,db.execSQL()语句没有执行

线上代码:
MainActivity.java:

 public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        MyOpenHelper myOpenHelper = new MyOpenHelper(getApplicationContext());
        //创建或打开数据库
        SQLiteDatabase writableDatabase = myOpenHelper.getWritableDatabase();
        //创建或打开数据库,如果磁盘满了,返回只读的数据库
        SQLiteDatabase readableDatabase = myOpenHelper.getReadableDatabase();



    }
}

MyOpenHelper.java:

 public class MyOpenHelper extends SQLiteOpenHelper {

    public MyOpenHelper(@Nullable Context context) {
        super(context, "qqwe.db", null, 1);
    }

    @Override
    /**
     *数据库第一次创建的始后调用
     * 那么这个方法特别适合做表结构的初始化
     *此方法在android6.0模拟器不适用,原因待查
     * */
    public void onCreate(SQLiteDatabase db) {
        //id 一般以_id去写

        db.execSQL("create table Student ("
                + "id integer primary key autoincrement," + "name text,"
                + "score real," + "age integer," + "gender text)");
        System.out.println("创建完成");
    }

    /**
     * 当数据库升级的时候调用
     *
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

}

每次运行之前会将数据库删除,语句System.out.println("创建完成");会执行,在Android4.4运行正常,但在6.0上不能创建表,应该是db.execSQL()语句没有执行。
问:为什么在Android4.4上正常运行,但在6.0上却不能创建表?
求大神指教

2个回答

数据库应该需要写入权限,6.0的手机都需要去请求动态权限,去请求下动态权限试试,应该是写入这个权限

你是6.0 看看权限是否动态请求,本地数据库操作需要文件的读写权限

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
创建表问题,下面的语句为什么不能执行,
with Searchquery dorn beginrn close;rn //创建表rn close;rn sql.clear;rn sql.Add('create table hello (h char(25),d char(12)');rn execsql;rnrn end;rnrn注 ACCESS 数据库
sqlite 创建表
创建表基本语法: CREATE TABLE table_name( column1 datatype PRIMARY KEY(one or more columns), column2 datatype, column3 datatype, ..... ); 实例: sqlite> CREATE TABLE COMPANY( ID INT PRIMAR...
SQLite 创建表
  SQLite的CREATE TABLE 语句用于在任何给定的数据库创建一个新表。创建基本表,涉及到命名表、定义列及每一列的数据类型。 语法    CREATE TABLE 语句的基本语法如下:   CREATE TABLE database_name.table_name( column1 datatype PRIMARY KEY(one or more columns), ...
sqlite sql语句执行
alter table TL_Init add BalYear FLOAT NOT NULL DEFAULT (0.00); 语句在sqlite 中怎么重复执行
关于SQLite创建表的问题
[code=SQL]rncreate table [class]rn(rnc_id int identity(1,1) not null,rnc_name varchar(10) not null primary key,rnc_date datetime not null default getdate()rn)rn[/code]rnrn提示错在 “(”附近...rnrn请问应该怎么改呢...rnrn顺便问下,SQLite的语法和sql还有哪些地方区别...
VS下 SQLite创建表失败
VS下 SQLite创建表失败 代码如下 rn char * zErrMsg = NULL;rn int rc = -1;rn sqlite3_open(m_szDBname, &m_pDataBase);rn if (m_pDataBase == NULL)rn rn return ;rn rn rc = sqlite3_exec(m_pDataBase, "BEGIN", 0, 0, &zErrMsg);rn string exec = "CREATE TABLE Main ([snaptime] varchar(256),[licence] varchar(256),[color] varchar(256),[type] varchar(256),[url] varchar(256),[send] INTEGER);";rn rc = sqlite3_exec(m_pDataBase, exec.c_str(), 0, 0, &zErrMsg);rn rc = sqlite3_exec(m_pDataBase, "COMMIT;", 0, 0, &zErrMsg);rn sqlite3_close(m_pDataBase);rn return;rnrnDataBase已建好,这是初始化数据库中的关于创建表的代码。rn在SQLite Expert中用CREATE TABLE Main ([snaptime] varchar(256),[licence] varchar(256),[color] varchar(256),[type] varchar(256),[url] varchar(256),[send] INTEGER);就可以建成表。不知什么原因,各位帮看看 谢谢~
sqlite创建表问题
在SQLite Developer中创建一个表,提示rn/* Error message: cannot rollback - no transaction is active */rn这个错误,之前用相同的方法创建表没问题。
SQLite(二) - 创建表与添加数据
上篇学习了SQLite的安装与创建数据库,这节主要是学习表的创建与数据的添加。 创建表 在学习表的创建之前,先了解下SQLite数据类型,因为在数据库保存每一列数据都有对应的数据存储类型,比如整数、文本字符串、浮点值…… 打开上次创建userDB.db数据库,执行sqlite3.exe userDB.db命令,接着创建一个user表,执行创建表的SQL语句: create table user...
sqlite分析 创建表失败
sqlite源码中,创建表的时候在文件中写入的数据是正确的,但是所对应创建的表没有添加至hash表tblHash中,从而导致在插入数据的时候找不到表,有没有遇到过此类问题的,期待ing···
SQLite创建表过程分析
创建表的过程总体分为两步:SQL编译过程,SQL执行过程。下图的sqlite3_prepare_v2分支为SQL编译过程。sqlite3_step分支为SQL执行过程。 SQLite创建一个表的过程很复杂。此图忽略了很多细节。此图仅概括了创建表的宏观过程。 创建一个表都如此复杂,执行INSERT,SELECT等SQL应该会更复杂。这注定了SQL类型的数据库,不能满足高频写入的需求。
Android sqlite 动态创建表
Android sqlite 怎么动态创建表rnrn不是在SQLiteOpenHelper 的oncreate中创建!rnrn比如有个事件触发了,一次性创建多张表!我测试了一下,无法使用个循环创建多张结构相同,表名不同的表!rn导出的时候使用SQLite Expert 提示的是,数据文件已损坏!rnrn请教大神们怎么动态创建表!
急!!为什么创建表的语句不能执行?一定给分!!
<%rnSet MyConn=Sever.CreateObject("ADODB.Connection")rnMyConn.Open "DSN=vod;Uid=myUsername;Pwd=myPassword" rn' 创建vod表,定义序列号id字段和节目名称mc字段rnMySQL="CREATE TABLE vod (id int not null unique,mc text(16))"rnMyConn.Execute MySQLrn%>rn为什么不能执行呢?数据库连接没问题的,我试了rn请高手指教!!rn
sqlite动态创建表
public FontDaoImpl(){   //在构造方法里边进行判断,看是否在sqlite里边有tb_font这张表,如果没有的话,在sqlite里面自动创建表   try {    conn = DBConnection.getConnection(Constants.DATABASE_PATH_STYLE);    final int cnt = conn      .prepareS
sqlite创建表的问题。
string strSQL= "create table test_tab (f1 int, f2 long);"; rnint res= sqlite3_exec(pDB , dropTab.c_str() , 0 , 0 , &errMsg); rn我用上面的方式创建了数据表,如何改成,如果表存在就用原来创建的表,如果不存在才创建啊?
这个创建表的SQL语句在Oracle为什么不能执行?
CREATE TABLE "group_info" (rn "groupId" char(3) NOT NULL,rn "groupName" varchar(20) NOT NULL,rn "cTime" char(14) NOT NULL,rn "mTime" char(14) NOT NULL,rn "deleteFlag" char(1) NOT NULL default '0',rn PRIMARY KEY ("groupId")rn);rn报多了括号。
SQLite执行sql语句出错。。。。。。。。。
[code=Java]String sql = "CREATE TABLE pic (_id INTEGRE PRIMARY KEY AUTOINCREMENT NOT NULL , fileName VARCHAR, description VARCHAR)";rnrn db.execSQL(sql);[/code]rnrn用的安卓sdk4.1rn执行到db.execSQL(sql);就报错,显示Source not found,rn这是怎么回事,是不是sql语句写错了。。。
wince 6.0 模拟器在win10系统下不能联网
![![图片说明](https://img-ask.csdn.net/upload/201702/06/1486366922_701774.png)图片说明](https://img-ask.csdn.net/upload/201702/06/1486366911_960704.png)
pirntf语句没有执行
#includern#includernrnDWORD WINAPI ThreadProc(LPVOID lpararm);rnrnint main()rn HANDLE h;rn DWORD id;rn rn h=CreateThread(NULL,0,ThreadProc,NULL,0,&id);rnrn rn rn Sleep(3000);rn id=SuspendThread(h);rnrn printf("test aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n");rnrn rn CloseHandle(h);rn rn return 0;rnrnrnrnDWORD WINAPI ThreadProc(LPVOID lpararm)rn int i=0;rnrn printf("now in thread\n");rn while(1)rn printf("i=%d\n",i++);rn return 0;rnrnrn其中printf("test aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n");rn语句没有执行,而且连printf后面的语句也没有执行,程序不能退出,好像被卡在printf那里???????????????
语句没有执行
如下一段程序,执行到 testform.action="iamok_ks.asp?kcid="+kcid,没有去执行iamok_ks.asp,而是rnstep 1! 3rnstep 2rn而另外一段程序调用该语句,可以进入iamok_ks.asp,不知这段语句有什么问题?rnrn function lefttime()rn rnmys--;rn if (mys<0)rn rn mys=59;rn mym--;rn rn if (mym<0)rn rn mym=59;rn myh--;rn if (myh<0)rn rn testform.submit();rn alert("考试时间到,请提交您的试卷!");rn testform.action="iamok_ks.asp?kcid="+kcidrn alert("step 1!"+kcid);rn rn rn alert("step 2!");rn rnrndocument.all.lefttime.value=myh+":"+mym+":"+mys;rn setTimeout("lefttime(myh)",1000);rn rn rn
创建表Sql语句用什么方法执行!
我现在需要执行一条 创建表的 SQL 语句 CREATE Tablern SqlCommand 中用什么方法执行。可以得到 是否创建成功的信息。rn rn 我只找到了 返回结果为 放回影响行数、放回结果集、放回结果集中第一行第一列rn这几个执行语句的方法。用这些方法执行添加表的语句 都会出现异常。rn但实际 表是创建成功了!rnrn请各位大大指点一下!
SQL语句不能执行
StrSQL.Format("select * into [text;database=D:\].test.txt from AT");rn VERIFY(m_AccessDataWithAdo.ExecuteSQLbyConnection(StrSQL));rn在access数据库SQL视图中可以执行,可是放在程序中(数据库连接成功,但获得的记录条数好像为空),出现80004005错误。请问大虾这是怎么回事?
sqlplus下语句不能执行
我在sqlplus下输入语句 delete from system.table12,总是提示说sql命令未正确结束,我在system目录下确实建了这个表啊。我运行其它sql语句也是提示说sql命令未正确结束,不知何故?请大牛们指点!不胜感激!
select语句不能执行?
application的open()事件如下// Profile FZ1rnSQLCA.DBMS = "O84 Oracle8/8i (8.x.4+)"rnSQLCA.LogPass = 'mnjf'rnSQLCA.ServerName = "ORA"rnSQLCA.LogId = "mnjf"rnSQLCA.AutoCommit = FalsernSQLCA.DBParm = "PBCatalogOwner='mnjf'"rnconnect using sqlca;rnif sqlca.sqlcode <> 0 thenrn messagebox("错误","系统连接数据库失败!")rn haltrnelsern open(w_main)rnend if rnrn而w_main的按钮clicked事件为:rnstring lsrnselect count(*) into :ls from sb where SBJH like '830%' and sbzt='1' and sbhm between '0' and '2030511' using sqlca;rnif SQLCA.SQLCode<0 thenrn messagebox("错误","数据库操作错误!错误代码:~r~f"+SQLCA.SQLErrText,Exclamation!)rn close(parent)rn elseif SQLCA.SQLCode=100 thenrn messagebox('警告','无用户数据,请重新输入!',Exclamation!)rn close(parent)rnend ifrnsle_1.text=trim(ls)rnrn运行结果报“无用户数据,请重新输入”其中SELECT语句去掉INTO :ls和using sqlca在数据库执行有结果。为什么,SELET语句不能执行rnrnrn
创建表语句
如何在页面中创建SQL-SERVER数据库中的表rnrn(是在页面中创建,不是直接在SQL中创建,请看清楚问题再答)rnrn
SELECT 语句不能执行!!!!!
With adoPositionrn .RecordSource = "SELECT * FROM 表POSITION WHERE 地点='水门桥"rn .RefreshrnEnd Withrnrn上面一块程序中,将 where 后的 地点 字段改成英文字符命名就不能运行.rn使用access2000数据库!rn不知何故请教各位大侠!!!!!rnrn
exp语句不能执行?
各位大侠帮忙指点一下:bat文件中写入以下语句,运行后一闪就没有任何结果,是什么原因啊?rnexp citictest/citictest@colm2 file=%date:~4,20%.dmp log=%date:~4,20%.log rn
select 语句。。不能执行????
select rn进货单明细.出版社,rnsum(进货单明细.定价*库存.库存量) as '总码洋' rncount(进货单明细.书名) as '总品种'rnsum(库存.库存量) as '总册数'rnfrom 进货单明细 inner join 库存rnon 进货单明细.书ID=库存.书IDrnwhere 库存.库存量>=0rngroup by 进货单明细.出版社rnrn错误提示:rn服务器: 消息 170,级别 15,状态 1,行 4rn第 4 行: 'count' 附近有语法错误。rnrn第二三四行任选其中一个可以执行的。。。二个汇总或是三个汇总一起就不能执行了。。rn
语句不能执行?
update x2 set bt='测试 ',bz='no messge',ggrq='2005-04-06',gh='123',xu='55',lg='具体信息'where pid='55'rnrn这句语句直接在ACCESS里可执行,但在ASP里即出现以下错误提示,如何解决呢:rnrnrn技术信息(用于支持人员)rnrn错误类型:rnMicrosoft OLE DB Provider for ODBC Drivers (0x80004005)rn[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。rn/xzsp/edit_exe.asp, 第 19 行rnrnrn浏览器类型:rnMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) rnrn网页:rnPOST 194 ??? /xzsp/edit_exe.asprnrnPOST Data:rnjm=55&name=6&xu=55&ggrq=2005-04-06&bt=%B2%E2%CA%D4%BE%D6+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lg=%BE%DF%CC%E5%D0%C5%CF%A2&bz=no+messge&Submit=%CC%E1%BD%BB rnrnrn以下是ASP原代码:rn<%gh=Request.form("gh")%>rn<%xu=Request.form("xu")%>rn<%ggrq=Request.form("ggrq")%>rn<%bt=Request.form("bt")%>rn<%lg=Request.form("lg")%>rn<%bz=Request.form("bz")%>rn<%pid=Request.form("jm")%>rnrn<%rnSet conn = Server.CreateObject("ADODB.Connection")rnStrconn="DRIVER=Microsoft Access Driver (*.mdb); "rnStrconn=Strconn & "DBQ=" & Server.MapPath("/xzsp/db.mdb")rnconn.Open Strconnrn%>rnrn<%str1="update x2 set bt='"&bt&"',bz='"&bz&"',ggrq='"&ggrq&"',gh='"&gh&"',xu='"&xu&"',lg='"&lg&"'where pid='"&pid&"'"%>rnrn<%=str1%>rn<%conn.execute(str1)%>
python语句不能执行
试写一段非常简单的代码,但是报错了,请前辈帮忙看下rn[img=https://img-bbs.csdn.net/upload/201605/14/1463217289_888656.jpg][/img]
帮忙下这个sql语句为什么不能创建表
create table testrn(rnid int not null primary key identity(1,1),rnxy int check( xy>[min] and xy<[max]),rn[min] int default(0),rn[max] int default(1000)rn)
Android学习之SQLite创建表和增删改
MySQLiteDemo.java: import android.app.Activity; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; public class MySQLiteDemo extends Activity { @Override publ...
【SQLite入门】使用SQLite、创建数据库、创建表、使用Jdbc连接SQLite
有关SQLite3使用: 1.将sqlite3.exe文件放在任何位置(本人放在E:\SQLite). 2.在cmd下进入到E:\SQLite下(cd E:\SQLite). 3.在cmd命令提示符下输入sqlite3.exe test.db(test.db是数据库名)回车,执行完后,命令提示符自动跳转到"sqlite>"状态。 注意:这时test.db数据库确实已经创建好了但是还是
pdflib-lite 6.0版本如何创建表?
如题,希望有朋友提供中文文档,十分感谢~~分不多,请见谅
sqlite创建表成功,insert不报错,但没有数据插入
sqlite创建表成功,insert不报错,但没有数据插入
WINCE 6.0模拟器
WINCE 6.0模拟器,玩导航的自然懂:)
Win Ce 6.0模拟器
把下载的凯立特导航6.0版本的懒人包复制到Win Ce 6.0模拟器文件夹的sdnmc文件夹中,然后运行Win Ce 6.0模拟器,即可可模拟运行凯立特6.0版本地图
cisco模拟器6.0
cisco模拟器6.0非常好用的路由交换模拟器,学习cisco的朋友可以用它做NA,NP的实验,部分IE的实验也可以做
WinCE5.0及6.0模拟器(中文)
解压文件后,5.0模拟器点击.bat文件可直接运行,6.0模拟器点击.exe可直接运行。
Cisco模拟器6.0
boson netsim for ccnp v6.0 beta3b 内附注册机,有英文实验指导,英文能力好的可以尝试看看,很有帮助!
wince 6.0 模拟器
下载解压,运行bat,配置sdmmc文件夹(具体配置参见网络)。
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件