- db=SQLiteDatabase.openOrCreateDatabase("/data/data/com.lingdududu.db/databases/stu.db",null);
private void createTable(SQLiteDatabase db){ //创建表SQL语句 String stu_table="create table usertable(_id integer primary key autoincrement,sname text,snumber text)"; //执行SQL语句 db.execSQL(stu_table); }
private void insert(SQLiteDatabase db) { //实例化常量值 ContentValues cValue = new ContentValues(); //添加用户名 cValue.put("sname","xiaoming"); //添加密码 cValue.put("snumber","01005"); //调用insert()方法插入数据 db.insert("stu_table",null,cValue); }
private void insert(SQLiteDatabase db){ //插入数据SQL语句 String stu_sql="insert into stu_table(sname,snumber) values('xiaoming','01005')"; //执行SQL语句 db.execSQL(sql); }
private void delete(SQLiteDatabase db) { //删除条件 String whereClause = "_id=?"; //删除条件参数 String[] whereArgs = {String.valueOf(2)}; //执行删除 db.delete("stu_table",whereClause,whereArgs); }
private void delete(SQLiteDatabase db) { //删除SQL语句 String sql = "delete from stu_table where _id = 6"; //执行SQL语句 db.execSQL(sql); }
private void update(SQLiteDatabase db) { //实例化内容值 ContentValues values = new ContentValues(); //在values中添加内容 values.put("snumber","101003"); //修改条件 String whereClause = "id=?"; //修改添加参数 String[] whereArgs={String.valuesOf(1)}; //修改 db.update("usertable",values,whereClause,whereArgs); }
private void update(SQLiteDatabase db){ //修改SQL语句 String sql = "update stu_table set snumber = 654321 where id = 1"; //执行SQL db.execSQL(sql); }
下面就是用Cursor来查询数据库中的数据,具体代码如下:
private void query(SQLiteDatabase db) { //查询获得游标 Cursor cursor = db.query ("usertable",null,null,null,null,null,null); //判断游标是否为空 if(cursor.moveToFirst() { //遍历游标 for(int i=0;i<cursor.getCount();i++){ cursor.move(i); //获得ID int id = cursor.getInt(0); //获得用户名 String username=cursor.getString(1); //获得密码 String password=cursor.getString(2); //输出用户信息 System.out.println(id+":"+sname+":"+snumber); } } }
7、删除指定表
编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行
private void drop(SQLiteDatabase db){ //删除表的SQL语句 String sql ="DROP TABLE stu_table"; //执行SQL db.execSQL(sql); }
在数据库第一次生成的时候会调用这个方法,也就是说,只有在创建数据库的时候才会调用,当然也有一些其它的情况,一般我们在这个方法里边生成数据库表。
2. onUpgrade(SQLiteDatabase,int,int)
当数据库需要升级的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据表,并建立新的数据表,当然是否还需要做其他的操作,完全取决于应用的需求。
这是当打开数据库时的回调函数,一般在程序中不是很常使用。
package com.lingdududu.testSQLite; import com.lingdududu.testSQLiteDb.StuDBHelper; import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; /* * @author lingdududu */ public class SQLiteActivity extends Activity { /** Called when the activity is first created. */ //声明各个按钮 private Button createBtn; private Button insertBtn; private Button updateBtn; private Button queryBtn; private Button deleteBtn; private Button ModifyBtn; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //调用creatView方法 creatView(); //setListener方法 setListener(); } //通过findViewById获得Button对象的方法 private void creatView(){ createBtn = (Button)findViewById(R.id.createDatabase); updateBtn = (Button)findViewById(R.id.updateDatabase); insertBtn = (Button)findViewById(R.id.insert); ModifyBtn = (Button)findViewById(R.id.update); queryBtn = (Button)findViewById(R.id.query); deleteBtn = (Button)findViewById(R.id.delete); } //为按钮注册监听的方法 private void setListener(){ createBtn.setOnClickListener(new CreateListener()); updateBtn.setOnClickListener(new UpdateListener()); insertBtn.setOnClickListener(new InsertListener()); ModifyBtn.setOnClickListener(new ModifyListener()); queryBtn.setOnClickListener(new QueryListener()); deleteBtn.setOnClickListener(new DeleteListener()); } //创建数据库的方法 class CreateListener implements OnClickListener{ @Override public void onClick(View v) { //创建StuDBHelper对象 StuDBHelper dbHelper = new StuDBHelper(SQLiteActivity.this,"stu_db",null,1); //得到一个可读的SQLiteDatabase对象 SQLiteDatabase db =dbHelper.getReadableDatabase(); } } //更新数据库的方法 class UpdateListener implements OnClickListener{ @Override public void onClick(View v) { // 数据库版本的更新,由原来的1变为2 StuDBHelper dbHelper = new StuDBHelper(SQLiteActivity.this,"stu_db",null,2); SQLiteDatabase db =dbHelper.getReadableDatabase(); } } //插入数据的方法 class InsertListener implements OnClickListener{ @Override public void onClick(View v) { StuDBHelper dbHelper = new StuDBHelper(SQLiteActivity.this,"stu_db",null,1); //得到一个可写的数据库 SQLiteDatabase db =dbHelper.getWritableDatabase(); //生成ContentValues对象 //key:列名,value:想插入的值 ContentValues cv = new ContentValues(); //往ContentValues对象存放数据,键-值对模式 cv.put("id", 1); cv.put("sname", "xiaoming"); cv.put("sage", 21); cv.put("ssex", "male"); //调用insert方法,将数据插入数据库 db.insert("stu_table", null, cv); //关闭数据库 db.close(); } } //查询数据的方法 class QueryListener implements OnClickListener{ @Override public void onClick(View v) { StuDBHelper dbHelper = new StuDBHelper(SQLiteActivity.this,"stu_db",null,1); //得到一个可写的数据库 SQLiteDatabase db =dbHelper.getReadableDatabase(); //参数1:表名 //参数2:要想显示的列 //参数3:where子句 //参数4:where子句对应的条件值 //参数5:分组方式 //参数6:having条件 //参数7:排序方式 Cursor cursor = db.query("stu_table", new String[]{"id","sname","sage","ssex"}, "id=?", new String[]{"1"}, null, null, null); while(cursor.moveToNext()){ String name = cursor.getString(cursor.getColumnIndex("sname")); String age = cursor.getString(cursor.getColumnIndex("sage")); String sex = cursor.getString(cursor.getColumnIndex("ssex")); System.out.println("query------->" + "姓名:"+name+" "+"年龄:"+age+" "+"性别:"+sex); } //关闭数据库 db.close(); } } //修改数据的方法 class ModifyListener implements OnClickListener{ @Override public void onClick(View v) { StuDBHelper dbHelper = new StuDBHelper(SQLiteActivity.this,"stu_db",null,1); //得到一个可写的数据库 SQLiteDatabase db =dbHelper.getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put("sage", "23"); //where 子句 "?"是占位符号,对应后面的"1", String whereClause="id=?"; String [] whereArgs = {String.valueOf(1)}; //参数1 是要更新的表名 //参数2 是一个ContentValeus对象 //参数3 是where子句 db.update("stu_table", cv, whereClause, whereArgs); } } //删除数据的方法 class DeleteListener implements OnClickListener{ @Override public void onClick(View v) { StuDBHelper dbHelper = new StuDBHelper(SQLiteActivity.this,"stu_db",null,1); //得到一个可写的数据库 SQLiteDatabase db =dbHelper.getReadableDatabase(); String whereClauses = "id=?"; String [] whereArgs = {String.valueOf(2)}; //调用delete方法,删除数据 db.delete("stu_table", whereClauses, whereArgs); } } }
package com.lingdududu.testSQLiteDb; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class StuDBHelper extends SQLiteOpenHelper { private static final String TAG = "TestSQLite"; public static final int VERSION = 1; //必须要有构造函数 public StuDBHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } // 当第一次创建数据库的时候,调用该方法 public void onCreate(SQLiteDatabase db) { String sql = "create table stu_table(id int,sname varchar(20),sage int,ssex varchar(10))"; //输出创建数据库的日志信息 Log.i(TAG, "create Database------------->"); //execSQL函数用于执行SQL语句 db.execSQL(sql); } //当更新数据库的时候执行该方法 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //输出更新数据库的日志信息 Log.i(TAG, "update Database------------->"); } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <Button android:id="@+id/createDatabase" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="创建数据库" /> <Button android:id="@+id/updateDatabase" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="更新数据库" /> <Button android:id="@+id/insert" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="插入数据" /> <Button android:id="@+id/update" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="更新数据" /> <Button android:id="@+id/query" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="查询数据" /> <Button android:id="@+id/delete" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="删除数据" /> </LinearLayout>
相关推荐
Android的SQLite中DateTime类型数据的存取问题
android之SQLite数据库开发详解: Android 开发中使用 SQLite 数据库 简介: SQLite 是一款非常流行的嵌入式数据库,它支持 SQL 查询,并且只用很少的内存。Android 在运行时集成了 SQLite,所以每个 Android 应用...
我们在使用ListView的时候需要和数据进行绑定,那么问题来了,如何获取SQLite数据库中的数据并动态的显示到ListView当中呢?其实过程很简单:首先要获取SQLite数据(当然首先你要创建一个SQLite数据库并填写了一些...
Android开发学习教程—Android使用SQLite数据库
前情提要:Android 数据库(SQLite) 【简介、创建、使用(增删改查、事务、实战演练)、数据显示控件(ListView、Adapter、实战演练)】 https://blog.csdn.net/weixin_44949135/article/details/105955663 Android ...
Android管理信息系统: 包括SQLite 数据库的增删改查,ListView的刷新,弹出对话框提示操作 ListView列表的优化 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间...
利用SQLite数据库 + ListView开发技术,实现了一个简易的通讯录系统,其功能模块包括通讯录信息的增加、删除、修改、查询等。
嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 1 SQLite 概念: SQLite是一款轻量级的关系型数据库,它的运算效率高,占用资源少,因此比较适合在移动设备上使用。 SQLite Android为了让我们更加方便地...
嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 2 SQLite 数据库管理员 数据库实体A 表 表 数据库实体B 表 表 数据库实体 表 表 SQLite 我们已经掌握: SQLite是一款轻量级的关系型数据库,它的运算效率高...
嵌入式Android项目设计与开发 第六章 数据存储 ——SQLite 3 SQLite 内容: SQLite如何插入数据。 (1)SQL语句。insert into table…value() (2)使用SQLiteOpenHelper接口 实验 通过SQLiteOpenHelper接口insert ...
指标要求:通过用户登录、用户注册、单词操作、忘记密码掌握界面设计...此次项目设计不仅仅使对我技术上的锻炼有所提高,更多的是为我之后的学习奠定了良好的基础,但是依然有很多的不足之处需要我们继续完善和改正。
关于android开发中Sqlite中内置数据的使用,本案例是一个很好的封装,使用到了接口,进行分开。
Android学习笔记-SQLite介绍-以及使用Sqlite-进行数据库的创建-完成数据.pdf
包括如下版本: sqlite3,sqlite3_armv6,sqlite3_armv6-nofpu, sqlite3_armv7, sqlite3_armv7-pie
android数据库SQLite学习笔记.pdf
对应博客文章:【Android 开发】:数据存储之 SQLite 数据库操作(三) 中的 Demo 源码下载 博客地址:http://blog.csdn.net/ahuier/article/details/10418205
第01部分:大话android 第02部分:开发环境搭建及模拟器介绍 第03部分:Eclipse中android项目开发运行及管理 第04部分:android项目目录结构,执行流程及其他分析 ...第13部分:数据存储之SQLite 第14部分:数据存储之事务
目录SQLite数据库简介SQLiteOpenHelper主要方法构造方法onCreate方法onUpgradegetWritableDatabase() 和getReadableDatabase()方法SQLiteOpenHelper类的完整示例代码SQLiteDatabase主要方法增 AddDelete 删查 query...
Android使用SQLiteDatabase直接存取数据与图像。 开发环境:XP3+Eclipse+Android2.2+JDK6.0 测试环境:Android2.2,5寸屏,分辨率640X480
android存取Sqlite3数据库demo,已经运行ok,可以用adb登陆查看结果,可供快速掌握sqlite3