1、sqlliet简单介绍及相关技术要点

  A、可以保存任何类型的数据不限长度   但整形主键的话必须为整数
  只能编写标准sql语句
  分页和mysql一样
    imit 5 offset 3  
  limit 3,5  跳过前面3条

  B、写一个类继承SQLiteOpenHelper
  数据库文件所在路径为:应用的包下面的databases

  最好是少建类  可以少占内存
    SQLiteDatabase database= openHelp.getWritableDatabase();//对数据要更改,该方法以读和写的方式打开数据库
  SQLiteDatabase database2=openHelp.getReadableDatabase();//先用可以写的方式打开数据库,如果打开失败再以只读的方式打开数据库

  C、SqliteDev工具下载地址http://download.csdn.net/source/3302231

Person

package com.tjp.model;

public class Person {

private int personId;
private String name;
public Person() {
super();
}
public Person(int personId, String name) {
super();
this.personId = personId;
this.name = name;
}
public int getPersonId() {
return personId;
}
public void setPersonId(int personId) {
this.personId = personId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "name="+name+" personId="+personId;
}
}

DBOpenHelp

package com.tjp.service;

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

public class DBOpenHelp extends SQLiteOpenHelper {

private static final String DBNAME="tjp.db";//数据库名称
private static final int DBVERSION=1;//数据版本
public DBOpenHelp(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);//context 上下文 ,name 数据库名称以db为后缀名 , factory 游标工厂 version数据库版本号
// TODO Auto-generated constructor stub
}

public DBOpenHelp(Context context) {
super(context, DBNAME, null, DBVERSION);
}

/**
* 数据库第一次创建的时候被调用
*/
@Override
public void onCreate(SQLiteDatabase db) {
String sql="create table person(personid integer primary key autoincrement,name varchar(20))";
db.execSQL(sql); //执行有更新行为的sql语句

}

/**
* 在软件升级的时候,当数据库的版本发送改变的时候
*/
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub

}

}

PersonService

package com.tjp.service;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

import com.tjp.model.Person;

public class PersonService {

private DBOpenHelp openHelp=null;
private Context context;

public PersonService(Context context) {
this.context = context;
openHelp=new DBOpenHelp(context);
}

public void save(Person person){
SQLiteDatabase database= openHelp.getWritableDatabase();//对数据要更改,该方法以读和写的方式打开数据库,有缓存功能
database.execSQL("insert into person(name) values(?)",new Object[]{person.getName()});
}

public void update(Person person){
SQLiteDatabase database= openHelp.getWritableDatabase();
database.execSQL("update person set name=? where personid=?",new Object[]{person.getName(),person.getPersonId()});
}

public void delete(int personId){
SQLiteDatabase database= openHelp.getWritableDatabase();
database.execSQL("delete from person where personid=?",new Object[]{personId});
}

public Person find(int personId){
SQLiteDatabase database= openHelp.getWritableDatabase();
Person person=null;
Cursor cursor= database.rawQuery("select * from person where personid=?", new String[]{String.valueOf(personId).toString()});
if(cursor.moveToFirst()){//如果移动成功了表示存在
int personIda =cursor.getInt(cursor.getColumnIndex("personid"));
String name=cursor.getString(cursor.getColumnIndex("name"));
person=new Person(personIda,name);
}
cursor.close();
return person;
}

public List<Person> getScrollDate(int offerset,int maxResult){
List<Person> persons=new ArrayList<Person>();
SQLiteDatabase database= openHelp.getWritableDatabase();
String sql="select * from person limit ?,?";
Cursor cursor= database.rawQuery(sql, new String[]{String.valueOf(offerset),String.valueOf(maxResult)});
while(cursor.moveToNext()){
int personIda =cursor.getInt(cursor.getColumnIndex("personid"));
String name=cursor.getString(cursor.getColumnIndex("name"));
Person person=new Person(personIda,name);
persons.add(person);
}
return persons;
}

public long getCount(){
SQLiteDatabase database= openHelp.getWritableDatabase();
Cursor cursor= database.rawQuery("select count(*) from person", null);
cursor.moveToFirst();
int count=cursor.getInt(0);
cursor.close();
return count;
}
}

PersonServiceTest

package com.tjp.db;

import java.util.List;

import com.tjp.model.Person;
import com.tjp.service.DBOpenHelp;
import com.tjp.service.PersonService;

import android.test.AndroidTestCase;
import android.util.Log;

public class PersonServiceTest extends AndroidTestCase {

private static final String TAG="PersonServiceTest";
public void testCreateDb()throws Exception{
DBOpenHelp help=new DBOpenHelp(this.getContext());
help.getWritableDatabase();//第一次调用该方法创建数据库
}

public void testsave()throws Exception{
PersonService personService=new PersonService(this.getContext());
Person person=new Person(1,"谭建平");
personService.save(person);

Person person1=new Person(1,"谭建平1");
personService.save(person1);

Person person2=new Person(1,"谭建平2");
personService.save(person2);

Person person3=new Person(1,"谭建平3");
personService.save(person3);

Person person4=new Person(1,"谭建平4");
personService.save(person4);

Person person5=new Person(1,"谭建平5");
personService.save(person5);

Person person6=new Person(1,"谭建平6");
personService.save(person6);
}
public void testupdate()throws Exception{
PersonService personService=new PersonService(this.getContext());
Person person=new Person(1,"老李");
personService.update(person);
}
public void testdelete()throws Exception{
PersonService personService=new PersonService(this.getContext());
personService.delete(1);
}
public void tesfind()throws Exception{
PersonService personService=new PersonService(this.getContext());
Person person=personService.find(1);
Log.i(TAG, person.getName());
}
public void testscorll()throws Exception{
PersonService personService=new PersonService(this.getContext());
List<Person> persons=personService.getScrollDate(0, 2);
for(Person person : persons){
Log.i(TAG, person.toString());

}
}

public void testcount()throws Exception{
PersonService personService=new PersonService(this.getContext());
Log.i(TAG, personService.getCount()+"");
}
}

  

转载于:https://www.cnblogs.com/tjpfly/archive/2011/05/23/sqlite_c_r_u_d_SqliteDev.html

sqlite增删改查(一)及SqliteDev工具下载地址相关推荐

  1. android 入门 006(sqlite增删改查)

    android 入门 006(sqlite增删改查) package cn.rfvip.feb_14_2_sqlite;import android.content.Context; import a ...

  2. SQlite增删改查

    SQlite从入门到入土 1.SQlite的增删改查 文章目录 SQlite从入门到入土 前言 一.SQlite简介和下载安装 二.简单操作 1.建一个表 2.增加数据 3.删除数据 4.修改数据 5 ...

  3. SQLite 增删改查

    一. 打开Eclipse,连接安卓设备 博主这里以Eclipse自带的模拟器为例 新建模拟器 如图: 单击Create 如图: 单击OK 选中新建的模拟器 点击start 如图: 然后点击launch ...

  4. python对sqlite增删改查_Python操作sqlite3数据库 增删改查

    SQLite,是一款轻型的数据库,占用资源非常的低.这里记录下对sqlite3的增删改查相关操作,顺便复习一下SQL语句- -. 一.创建数据库 连接到一个现有的数据库.如果数据库不存在,那么它就会被 ...

  5. 电信报表java_china_netcom 用java和框架Strus开发的电信报表系统,信息 的增删改查 Develop 238万源代码下载- www.pudn.com...

    文件名称: china_netcom下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 532 KB 上传时间: 2014-09-04 下载次数: 1 提 供 者: ...

  6. springboot整合mybatis实现简单的单表增删改查(完整代码可下载)

    搭建项目 项目简单效果,前端效果丑的一批,主要是后端功能实现: springboot增删改查 csdn完整代码下载链接: springboot+mybatis Gitee下载地址: Gitee下载地址 ...

  7. sqlite 增删改查附代码

    一.进入数据库 命令行输入下列命令进入数据库 1.adb 2.adb shell 3.cd data 4.cd data 5.cd [包名] 6.创建数据库后 7.cd databases 8.sql ...

  8. mysql增删改查 工具类_Hibernate增删改查数据库之二工具类

    /** * Hibernate工具类(简单型) * 功能-完成会话工厂和会话的创建已经会话的关闭 * @author Owner * */ public class HibernateUtils { ...

  9. 【数据库学习笔记】——操作sqlite(增删改查)以及cursor的方法介绍

    目录 1.sqlite数据库介绍 1)常见的数据库操作 2)数据操作常见步骤 2.向数据表中增加数据(insert into) 1)向数据表中添加一条记录 2)向数据表中一次性添加多条记录 ​ 3.修 ...

  10. python对sqlite增删改查_Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】...

    本文实例讲述了python操作SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的 ...

最新文章

  1. 消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法
  2. C#语法之匿名函数和Lambda表达式
  3. python opencv 凸包
  4. golang中的strings.ContainsAny
  5. 学习spring1--跟我一起学Spring 3(2)–开发环境配置
  6. java 获取麦克_Java Sound API-捕获麦克风
  7. 北斗导航 | 现代授时技术——北斗GPS导航系统
  8. xy轴坐标图数字表示_【相机标定】四个坐标系之间的变换关系
  9. 【java】httpclient 链接偶尔会 Read timed out
  10. NGOD client 完成感想
  11. 关于关系型数据库锁机制的理解
  12. 【翻唱】学习日语歌 (青鸟)火影忍者 OP
  13. 功耗:Leakage Power
  14. 图片加载oom以及photoView缩放崩溃问题
  15. Go语言核心之美-必读
  16. Python float()函数
  17. C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)
  18. [VB.NET]设置TextBox的提示文字
  19. 荒野日记辅助挂机攻略,手游辅助好用脚本
  20. 网页特效之imageflow

热门文章

  1. VS2013配置PDFLib 9.1.2的环境
  2. python一年365天_GitHub - yihong0618/Python365: Python365天精进计划
  3. 01-mnist数字识别
  4. 令人失望的智器Smart Q5
  5. PhpStorm 配置 Git 教程
  6. SVN安装语言包后无中文
  7. 神经网络图用什么软件做,图神经网络 图像处理
  8. 信号与系统——初识信号的原理与分类
  9. java war包 加密_Java加密jar包流程
  10. gwr模型matlab代码,干货分享 | 地理加权回归GWR2020新版开源软件下载和使用