社区
Android
帖子详情
SQLiteException:datatype mismatch
小边3310903
2011-01-10 11:53:24
为什么我执行了
Cursor data = database.query("dataFormat", cols, null, null, null, null, null, "0,300");
查询语句,再执行
data.moveToFirst();
会出现这个错误呢??
谢谢大家!
...全文
1029
3
打赏
收藏
SQLiteException:datatype mismatch
为什么我执行了 Cursor data = database.query("dataFormat", cols, null, null, null, null, null, "0,300"); 查询语句,再执行 data.moveToFirst(); 会出现这个错误呢?? 谢谢大家!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
austo
2012-12-21
打赏
举报
回复
还没解决??
dinjay
2011-01-10
打赏
举报
回复
什么错?
还有 data判断是否为null再去使用
小边3310903
2011-01-10
打赏
举报
回复
报出来的是:
android.database.sqlite.SQLiteException:datatype mismatch
代码是:
Cursor data = database.query("dataFormat", cols, null, null, null, null, null, "0,300");
System.out.println("columnCount = " + data.getColumnCount());
System.out.println("present = " + present);
int daSize = 300;
System.out.println("now = " + data.getPosition());
data.moveToFirst();
显示的错误行数是data.moveToFirst();
但columnCount的值可以数出来,columnCount = 6;
谢谢了。
WCDB是微信开发的跨平台数据库框架。-腾讯/ wcdb
WCDB 中文版本请参看 WCDB is an efficient, complete, easy-to-use mobile
data
base framework used in the WeChat application. It's currently available on iOS, macOS and Android. WCDB for iOS/macOS Features Easy-to-use. Through WCDB, you can get objects from
data
base in one line code. WINQ (WCDB language integrated query): WINQ is a native
data
querying capability which frees developers from writing glue code
sqlite
数据库锁定问题.zip
sqlite
实质上是将数据写入一个文件,通常情况下,在应用的包名下面都能找到xxx.db的文件,拥有root权限的手机,可以通过adb shell,看到
data
/
data
/packagename/
data
bases/xxx.db这样的文件。我们可以得知
SQLite
是文件级别的锁:多个线程可以同时读,但是同时只能有一个线程写。Android提供了
Sqlite
OpenHelper类,加入Java的锁机制以便调用。如果多线程同时读写(这里的指不同的线程用使用的是不同的Helper实例),后面的就会遇到android.
data
base.
sqlite
.
SQLite
Exception
:
data
base is locked这样的异常。对于这样的问题,解决的办法就是keep single
sqlite
connection,保持单个
Sqlite
OpenHelper实例,同时对所有数据库操作的方法添加synchronized关键字。完美解决
sqlite
的
data
base locked 或者是 error 5:
data
base locked 问题
Android例子源码解决多线程读写
sqlite
数据库锁定问题
SQLite
实质上是将数据写入一个文件,通常情况下,在应用的包名下面都能找到xxx.db的文件,拥有root权限的手机,可以通过adb shell,看到
data
/
data
/packagename/
data
bases/xxx.db这样的文件。我们可以得知
SQLite
是文件级别的锁:多个线程可以同时读,但是同时只能有一个线程写。Android提供了
Sqlite
OpenHelper类,加入Java的锁机制以便调用。如果多线程同时读写(这里的指不同的线程用使用的是不同的Helper实例),后面的就会遇到android.
data
base.
sqlite
.
SQLite
Exception
:
data
base is locked这样的异常。对于这样的问题,解决的办法就是keep single
sqlite
connection,保持单个
Sqlite
OpenHelper实例,同时对所有数据库操作的方法添加synchronized关键字。完美解决
sqlite
的
data
base locked 或者是 error 5:
data
base locked 问题
amazon-
sqlite
-fail:当区域设置为韩国时,
SQLite
数据库在 Fire OS 上失败
亚马逊-
sqlite
-失败 当区域设置为韩国时,
SQLite
数据库在 Fire OS 上失败 下面是设置 Locale.KOREA 时异常的示例堆栈跟踪。 03-20 11:46:17.923 24360-24360/com.example.rennt.myapplication E/AndroidRuntime﹕ FATAL
EXCEPTION
: main java.lang.Runtime
Exception
: Unable to start activity ComponentInfo{com.example.rennt.myapplication/com.example.rennt.myapplication.MainActivity}: android.
data
base.
sqlite
.
SQLite
Exception
: not an error (code 0)
C#连接加密的
Sqlite
数据库的方法
对数据加密分两种,一种是对数据库本身进行加密,另一种是对数据表中的数据进行加密, 如果
SQLite
数据库加密,我这里使用的一个管理工具叫
SQLite
Developer,如下就可以加密数据库 , 如果在工具中不提供密码的情况下打开数据库,会给你错误提示如下: , 或者在C# 使用错误的密码也会给你错误提示: System.
Data
.
SQLite
.
SQLite
Exception
:“file is encrypted or is not a
data
base , 正确的连接方式就是在连接字符串中提供正确的密码: using System; using System.Collections.Gen
Android
80,349
社区成员
91,287
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章