android中操作SQLite注意事项
- 调用rawQuery()后,需要调用Cursor的movToFirst();
public Cursor query(String sql, String[] args){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(sql, args);
cursor.moveToFirst(); // 重中之重,千万不能忘了
db.close();
return cursor;
}
2.删除记录时使用 sql ="delete from student where id = ?"
sql ="delete from student where id = ?";
server.delete(sql, new Object[]{113});
public void delete(String sql, Object[] args){
SQLiteDatabase db = this.getReadableDatabase();
db.execSQL(sql, args);
this.sql = sql;
db.close();
}
MainActivity.class
package com.example.db1;
import java.util.Random;
import android.R.string;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;
public class DbServer extends SQLiteOpenHelper {
private final static int DatabaseVersion = 1;
private final static String DatabaseName = "abcd.db";
public static int cnt = 111;
public static String sql = null;
public DbServer(Context context) {
super(context, DatabaseName, null, DatabaseVersion);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
MainActivity.cnt = 1;
this.cnt = 101;
// TODO Auto-generated method stub
String sql = "CREATE TABLE student (id INT PRIMARY KEY, NAME VARCHAR(10))";
db.execSQL(sql);
db.close();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
public Cursor query(String sql, String[] args){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(sql, args);
cursor.moveToFirst(); // 重中之重,千万不能忘了
db.close();
return cursor;
}
public void insert(String sql, Object[] args){
SQLiteDatabase db = this.getReadableDatabase();
this.sql = sql;
db.execSQL(sql,args);
db.close();
}
public void update(String sql, Object[] args){
SQLiteDatabase db = this.getReadableDatabase();
this.sql = sql;
db.execSQL(sql,args);
db.close();
}
public void delete(String sql, Object[] args){
SQLiteDatabase db = this.getReadableDatabase();
db.execSQL(sql, args);
this.sql = sql;
db.close();
}
}
SQLiteOpenHelper的子类
package com.example.db1;
import java.util.Random;
import android.R.string;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;
public class DbServer extends SQLiteOpenHelper {
private final static int DatabaseVersion = 1;
private final static String DatabaseName = "abcd.db";
public static int cnt = 111;
public static String sql = null;
public DbServer(Context context) {
super(context, DatabaseName, null, DatabaseVersion);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
MainActivity.cnt = 1;
this.cnt = 101;
// TODO Auto-generated method stub
String sql = "CREATE TABLE student (id INT PRIMARY KEY, NAME VARCHAR(10))";
db.execSQL(sql);
db.close();
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
public Cursor query(String sql, String[] args){
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(sql, args);
cursor.moveToFirst(); // 重中之重,千万不能忘了
db.close();
return cursor;
}
public void insert(String sql, Object[] args){
SQLiteDatabase db = this.getReadableDatabase();
this.sql = sql;
db.execSQL(sql,args);
db.close();
}
public void update(String sql, Object[] args){
SQLiteDatabase db = this.getReadableDatabase();
this.sql = sql;
db.execSQL(sql,args);
db.close();
}
public void delete(String sql, Object[] args){
SQLiteDatabase db = this.getReadableDatabase();
db.execSQL(sql, args);
this.sql = sql;
db.close();
}
}
android中操作SQLite注意事项的更多相关文章
- Android中操作SQLite数据库
我又回到了安卓的学习当中,忙来忙去终于忙的差不多有时间做自己的事情了,这感觉实在是太棒了!!本来想写android的控件以及他们的监视器的,但是我查了查android的手册,基本上都能查到,但是查有些 ...
- Android中的SQLite使用学习
Android中的SQLite使用学习 SQLite是非常流行的嵌入式关系型数据库,轻载, 速度快,而且是开源.在Android中,runtime提供SQLite,所以我们可以使用SQLite,而且是 ...
- Android中对sqlite加密--SQLCipher
原文:Android中对sqlite加密--SQLCipher android中有些时候会将一些隐私数据存放在sqlite数据库中,在root过的手机中通过RE就能够轻松的打开并查看数据库所有内容,所 ...
- Android中使用sqlite笔记
1.实现SQLiteHelper来在android中使用SQLite.代码如下,来自android官网. public class FeedReaderDbHelper extends SQLiteO ...
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
- Android之操作SQLite
一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的 ...
- Android中数据库Sqlite的性能优化
1.索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率.(1). 优点大大加快了数据库检索的速度,包括 ...
- android中与SQLite数据库相关的类
为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...
- android中的SQLite数据库
SQLite是android中集成的一个轻量级的数据库,该数据库支持绝大部分SQL92语法 SQLiteDatabase代表一个数据库(底层就是一个数据库文件),一旦应用程序获得了代表指定数据库的SQ ...
随机推荐
- C primer plus 读书笔记第二章
这章的标题是C语言概述,内容大概是介绍一些简单的示例程序,来了解和熟悉C语言的一些基本特征. 这是书里的第一段代码,敲敲找找感觉.推荐在linux环境下写代码. PS:倒腾sublime text一下 ...
- 关于scanf的几种处理方法
字符输入中,赋值顺序和缓存的联系 scanf是从标准输入缓冲区中读取输入的数据,假设连续输入两个%c格式的字符.而中间又要涉及回车,那么第二个字符将被赋予回车. 解决的方法: .清空输入缓冲区 第一个 ...
- HDFS集群balance(3)-- 架构细节
转载请注明博客地址:http://blog.csdn.net/suileisl HDFS集群balance,对应版本balance design 6 如需word版本,请QQ522173163联系索要 ...
- 一个Nodejs的简单计算測试程序
測试目的: 1 測试二维数组的使用 2 输出函数的使用 代码: var util = require('util'); a = 3; b = 4; c = a + b; a = []; for(i = ...
- [转] Transitions: Going from Shots to the Insulin Pump
Part three of our article series on the common phases of type 2 diabetes management By Lance Porter ...
- Android Back Home键监听
Android Back Home键监听 Back键的监听 对于Back键的监听比较容易,可以在多个系统回调处拦截,比如在activity的下列方法中都可以收到Back键按下的事件: @Overrid ...
- 大数据笔记02:大数据之Hadoop的生态系统和版本
1.Hadoop的生态系统: (1)图1: (2)图2: 图1 和 图2 都是形象说明了Hadoop的生态圈. 2.举例介绍Hadoop生态圈的小工具: (1)Hive工具(中文意思:小蜜蜂) 利用H ...
- yiiwheels.widgets.datetimepicker.WhDateTimePicker language
参考 https://github.com/2amigos/yiiwheels/blob/master/widgets/datetimepicker/WhDateTimePicker.php publ ...
- Linux network setting.
Lubuntu network setting. //1. Vi /etc/network/interfaces Add:auto eth0iface eth0 inet dhcp //2. Vi / ...
- PC端QQ协议解析之0825
QQ协议0825代号解析,包括客户端发送包和服务器发送包. 主要借鉴的此篇文章,我自己也是重复造轮子. 基本信息 操作系统:windows7 QQ-Version:3643 客户端到服务器: 02:数 ...