1. 调用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注意事项的更多相关文章

  1. Android中操作SQLite数据库

    我又回到了安卓的学习当中,忙来忙去终于忙的差不多有时间做自己的事情了,这感觉实在是太棒了!!本来想写android的控件以及他们的监视器的,但是我查了查android的手册,基本上都能查到,但是查有些 ...

  2. Android中的SQLite使用学习

    Android中的SQLite使用学习 SQLite是非常流行的嵌入式关系型数据库,轻载, 速度快,而且是开源.在Android中,runtime提供SQLite,所以我们可以使用SQLite,而且是 ...

  3. Android中对sqlite加密--SQLCipher

    原文:Android中对sqlite加密--SQLCipher android中有些时候会将一些隐私数据存放在sqlite数据库中,在root过的手机中通过RE就能够轻松的打开并查看数据库所有内容,所 ...

  4. Android中使用sqlite笔记

    1.实现SQLiteHelper来在android中使用SQLite.代码如下,来自android官网. public class FeedReaderDbHelper extends SQLiteO ...

  5. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  6. Android之操作SQLite

    一.SQLite的介绍 1.SQLite简介 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入  式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的 ...

  7. Android中数据库Sqlite的性能优化

    1.索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率.(1). 优点大大加快了数据库检索的速度,包括 ...

  8. android中与SQLite数据库相关的类

    为什么要在应用程序中使用数据库?数据库最主要的用途就是作为数据的存储容器,另外,由于可以很方便的将应用程序中的数据结构(比如C语言中的结构体)转化成数据库的表,这样我们就可以通过操作数据库来替代写一堆 ...

  9. android中的SQLite数据库

    SQLite是android中集成的一个轻量级的数据库,该数据库支持绝大部分SQL92语法 SQLiteDatabase代表一个数据库(底层就是一个数据库文件),一旦应用程序获得了代表指定数据库的SQ ...

随机推荐

  1. 【移动开发】Android中WIFI开发总结(二)

    搞了好几天终于有点眉目了,这里接着总结一下Android中WiFi的使用,在前面(http://smallwoniu.blog.51cto.com/3911954/1334951)我们已经简单了解了W ...

  2. spring07 JDBC

    1.创建对应的数据库 2.在MyEclipse中创建项目  引入需要的jar包 3.创建数据访问层 public interface StudentDao { //新增学生 int addStuden ...

  3. web页面打印

    在使用的两种方式打印: 第一种:js如下 function doPrint() { allhtml = window.document.body.innerHTML; starstr = " ...

  4. Flask挺好

    很久没写东西了,寒假比较低效,几乎没写代码.只在慕课网上刷完了linux系列课程,现在用linux熟了很多以及看了大部分<鸟叔-linux服务器架设>那本书,虽然对于写代码并没有什么卵用, ...

  5. sharepoint查询超出阈值

    昨天客户出了webpart显示数据不稳定的bug,经过这两天的艰苦排查终于发现了是列表视图阈值造成的问题,经过在网上搜索终于找到了类似的解决方法. SPQuery query = new SPQuer ...

  6. vsftp关于"550 create directory operation failed"问题解决

    前提: 昨天晚上配置好了vsftp, 但登陆后,除了浏览,什么也干不了.(如新建文件/文件夹, 删除文件, 重命名等都不可操作) 都是弹出 "550 create directory ope ...

  7. iOS中解析 XML / JSON

    JSON数据格式 1. 概述: JSON (JavaScript Object Notation) 是⼀一种轻量级的数据交换格式 基于⽂文本格式,易于⼈人阅读和编写,同时也易于机器解析和⽣生成. 2. ...

  8. windows下安装mysql笔记

    接着上几篇文章再来看下windows下安装mysql. 我这里是windows7 64位, 安装过程中还是遇到一些坑,这里记录下. 一.下载安装包 打开mysql官网下载页面:http://dev.m ...

  9. swing常用布局

    1,FlowLayout 窗口的默认布局 设置窗口布局方法(下面不重复 setLayout(new FlowLayout()); 设置容器布局方法 比如容器 con1 con1.setLayout(n ...

  10. 纪录一个table元素里面的tr th td

    <table border="1"> <tr> <th>name</th> <th>sex</th> < ...