SQLITE最基本操作
- 格式:pdf
- 大小:351.68 KB
- 文档页数:9
ue4 中使用sqlite数据库操作步骤UE4 是一款强大的游戏开发引擎,其内置的数据库管理系统支持使用SQLite 进行数据库操作。
SQLite 是一种轻量级的嵌入式数据库引擎,适用于小型项目和移动设备开发。
在本文中,我们将详细介绍在UE4 中使用SQLite 数据库的操作步骤。
1. 下载SQLite 插件首先,我们需要下载并导入SQLite 插件到UE4 项目中。
可以从UE4 Marketplace 或GitHub 等渠道下载到相应的插件。
在插件成功导入项目后,我们可以开始配置和使用SQLite 数据库。
2. 创建SQLite 数据库在UE4 中,我们可以使用SQLite 蓝图函数库来创建和管理数据库。
通过使用函数库中的"Open Database" 节点,我们可以通过传递数据库路径和名称来创建数据库文件。
这样就可以开始数据的存储和读取。
3. 执行SQL 语句SQLite 数据库操作的核心就是执行SQL 语句。
在UE4 中,SQLite 插件提供了一些基本的SQL 语句处理函数,比如"Execute SQLite Query",用于执行SQL 查询语句。
我们可以在Unreal 蓝图中使用该函数,并将查询结果存储在变量中,以供后续的操作使用。
4. 读取数据当我们完成SQL 查询语句的执行后,可以通过使用"Get Data as Object" 等函数,将查询结果从数据库中获取到UE4 的对象中。
这样就可以在游戏中使用这些数据来进行一些逻辑的处理或者显示。
5. 写入数据除了读取数据,我们还可以将游戏中的数据写入到SQLite 数据库中。
通过使用"Insert Data" 或者"Update Data" 等函数,可以将游戏中的数据插入或者更新到数据库中。
6. 关闭数据库当我们完成数据读取、写入操作后,应该使用相应的函数关闭数据库,以避免资源的浪费。
Python之Sqlite3数据库基本操作在⼀些⼩的应⽤中,难免会⽤到数据库,Sqlite数据库以其⼩巧轻便,⽆需安装,移植性好著称,本⽂主要以⼀个简单的⼩例⼦,简述Python在Sqlite数据库⽅⾯的应⽤,仅供学习分享使⽤,如有不⾜之处,还请指正。
涉及知识点1. sqlite3是Python集成的内置类库,提供Python操作sqlite3的相关接⼝。
2. sqlite3.connect(dbfile) 创建数据库连接,返回⼀个连接对象3. conn.cursor() 创建游标对象,通过返回的cursor对象,执⾏相应的SQL语句。
4. cur.execute(sql, *args) 执⾏语句5. mit() 提交执⾏的结果到数据库6. conn.rollback() 回退执⾏的结果7. cur.close() 关闭cursor对象8. conn.close() 关闭连接对象基础操作代码关于Python操作sqlite3的相关核⼼代码,如下所⽰:创建数据表1def createDb():2"""创建db数据表"""3 sql = '''4 create table person (5 id integer primary key autoincrement not null,6 name varchar not null,7 age integer8 )9'''10 executeSql(sql)View Code插⼊语句1def insertData(name, age):2"""插⼊数据"""3 sql = 'insert into person (name,age)values(?,?)'4 executeSql(sql, (name, age))View Codeupdate语句1def updateData(id, name, age):2"""通过ID进⾏修改语句"""3 sql = 'update person set name=?,age =? where id=?'4 executeSql(sql, (name, age, id))View Codedelete语句1def deleteData(id):2"""通过ID删除数据"""3 sql = 'delete from person where id=?'4 executeSql(sql, (id,))View Code上⾯的语句都调⽤统⼀的executeSql⽅法,如下所⽰:1def executeSql(sql, *args):2"""执⾏更新语句"""3 conn = sqlite3.connect(dbfile)4 cur = conn.cursor()5try:6 cur.execute(sql, *args)7 mit()8print('执⾏成功,影响⾏数:', cur.rowcount)9except Exception as e:10 conn.rollback()11print(e)12print('执⾏失败')13finally:14 cur.close()15 conn.close()View Code查询语句(⽆条件查询)1def queryData():2"""查询语句"""3 sql = 'select id,name,age from person '4 executeQuerySql(sql)View Code查询语句(条件查询)1def queryDataById(id):2"""通过id进⾏查询"""3 sql = 'select id,name,age from person where id = ? '4 executeQuerySql(sql, (id,))View Code上⾯的查询语句,都调⽤统⼀的executeQuerySql⽅法,如下所⽰:1def executeQuerySql(sql, *args):2"""执⾏查询语句,可带参数"""3 conn = sqlite3.connect(dbfile)4 cur = conn.cursor()5try:6 cur.execute(sql, *args)7 persons = cur.fetchall()8for p in persons:9print('当前⾏信息如下:')10print(p) # 返回的是⼀个元组tuple11print('查询成功')12except Exception as e:13print(e)14print('查询失败')15finally:16 cur.close()17 conn.close()View Code关于本例⼦的执⾏源码,可通过链接进⾏下载,如下所⽰:Python参数传递⽅式Python的参数传递⼀共有以下五种(位置参数、默认参数、变长参数、关键字参数、命名关键字参数)位置传递,即参数按照定义的位置及顺序进⾏传递,如下所⽰:1# 位置传递实例:2def fun1(a, b, c):3return a + b + c456print(fun1(1, 2, 3))View Code关键字传递,即通过传递的参数的名称进⾏识别。
sqlite 用法SQLite是一种轻型关系型数据库管理系统,它是一个C语言库,实现了自给自足、无服务器、零配置、事务性的SQL数据库引擎。
SQLite不需要单独的服务器进程或操作系统支持,这使它成为嵌入式数据库的理想选择,也适用于客户端/服务器的数据库应用程序。
SQLite的文件格式跨平台,可以在不同的操作系统中共享。
SQLite 的应用非常广泛,包括Android、iOS、Windows、Linux等系统中的各种应用程序和网站。
SQLite的使用非常简单,只需要引入SQLite的头文件,然后使用相应的API即可实现数据库的连接、数据的插入、查询、更新和删除等操作。
SQLite的API包含在sqlite3.h头文件中,其中最常用的API包括:sqlite3_open()用于连接数据库,sqlite3_exec()用于执行SQL语句,sqlite3_prepare_v2()用于准备SQL语句,sqlite3_step()用于执行SQL语句的下一步,sqlite3_finalize()用于释放已准备好的SQL语句,sqlite3_close()用于关闭数据库连接等。
在SQLite中,数据存储在表中,每个表由一组列组成。
表的创建可以使用SQL语句CREATE TABLE,格式为:CREATE TABLE 表名 (列1名列1类型, 列2名列2类型, …) 例如:CREATE TABLE user (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)这个语句创建了一个名为“user”的表,包含三列:id、name和age。
其中,id列为主键,类型为INTEGER,name列和age列分别为TEXT和INTEGER类型。
表的数据可以通过INSERT INTO语句进行插入,例如:INSERT INTO user (name, age) VALUES ('Tom', 20) 这个语句向user表中插入了一条记录,name列的值为“Tom”,age列的值为20。
sqlite数据库linux系统使用方法-回复SQLite 是一种轻量级的嵌入式数据库系统,它是在Linux操作系统中应用广泛的数据库之一。
在本文中,我们将一步一步回答如何在Linux系统中使用SQLite数据库。
第一步:安装SQLite首先,我们需要安装SQLite数据库软件。
在大多数Linux发行版中,SQLite 通常已经预装在系统中,所以你可以通过以下命令来验证是否已安装SQLite:sqlite3 version如果看到类似于“3.31.1”的版本号,则表示已成功安装SQLite。
如果未安装,你可以使用以下命令在Ubuntu中安装:sudo apt-get updatesudo apt-get install sqlite3第二步:创建数据库安装完成后,我们可以使用SQLite命令行界面(CLI)来创建一个新的数据库。
打开终端并输入以下命令:sqlite3 mydatabase.db在这个命令中,`mydatabase.db`是我们要创建的数据库的名称。
如果该数据库不存在,SQLite将会自动创建它。
如果文件已经存在,SQLite将会打开该数据库。
第三步:创建表格一旦我们创建了数据库,我们就可以在其中创建表格来存储数据。
在SQLite中,表格是用于组织和存储数据的基本结构。
要创建一个表格,我们需要定义表格的名称,并指定每个列的名称和数据类型。
例如,我们可以创建一个名为`users`的表格来存储用户信息,如下所示:CREATE TABLE users (id INTEGER PRIMARY KEY,name TEXT,age INTEGER,email TEXT);在上面的示例中,我们创建了一个名为`users`的表格,它有四个列:`id`,`name`,`age`和`email`。
`id`列被指定为主键,它用于唯一标识每个用户。
第四步:插入数据一旦我们创建了表格,我们可以使用`INSERT INTO`语句将数据插入到表格中。
SQLite是一个轻量级的嵌入式数据库,它可以简单地集成到C++应用程序中,并提供了方便的读写操作。
本文将介绍在C++中使用SQLite 进行基本的读写操作的方法,包括数据库的创建、打开、关闭以及插入、查询、更新和删除数据等操作。
一、引入SQLite库在使用SQLite进行读写操作之前,首先需要引入SQLite的库文件。
SQLite的冠方全球信息站(xxx)可以下载到最新版本的SQLite源码及预编译的二进制文件。
在C++项目中引入SQLite的库文件,通常需要在项目配置中设置信息选项,将SQLite的库文件信息到项目中。
二、数据库的创建与打开1. 创建数据库文件在进行读写操作之前,需要先创建一个SQLite数据库文件。
可以使用SQLite提供的命令行工具sqlite3,或者在C++程序中使用SQLite的API来创建数据库文件。
以下是通过SQLite的API在C++中创建数据库文件的示例代码:```#include <sqlite3.h>int m本人n() {sqlite3* db;int rc = sqlite3_open("test.db", db);if (rc) {// 打开失败} else {// 打开成功}sqlite3_close(db);return 0;}```在上面的示例代码中,sqlite3_open函数用于打开或创建一个数据库文件,如果数据库文件不存在,则会创建一个新的数据库文件;如果数据库文件已经存在,则会打开该数据库文件。
sqlite3_open函数的第一个参数是数据库文件的路径,第二个参数是指向sqlite3*类型的指针,用于存储打开的数据库对象。
2. 关闭数据库文件在使用完数据库之后,需要及时关闭数据库文件,释放相关的资源。
可以使用sqlite3_close函数来关闭数据库文件,以下是示例代码:```sqlite3_close(db);```在示例代码中,db是指向已打开的数据库对象的指针,sqlite3_close 函数用于关闭该数据库对象,并释放相关资源。
sqlite操作语句SQLite是一种轻量级的数据库管理系统,它简单易用、灵活可靠,被广泛用于移动设备和桌面应用程序中。
本文将介绍常用的SQLite操作语句,包括创建、修改、删除表格以及插入、更新、删除和查询数据等方面的内容。
1. 创建表格为了将数据保存到数据库中,我们需要先创建表格,以下是创建表格的语法:CREATE TABLE 表格名称 (字段名称1 数据类型1, 字段名称2 数据类型2, …);例如,创建一个名为student的表格,包含学生的姓名、年龄和性别三个字段:CREATE TABLE student (name TEXT, age INTEGER, gender TEXT);2. 修改表格如果需要修改表格结构,可以使用ALTER TABLE命令,以下是ALTER TABLE的语法:例如,将student表格添加一个班级字段:ALTER TABLE student ADD COLUMN class TEXT;DROP TABLE 表格名称;4. 插入数据为了添加数据到表格中,我们可以使用INSERT INTO命令,以下是INSERT INTO的语法:UPDATE 表格名称 SET 字段名称=值 WHERE 条件;例如,将姓名为张三的学生年龄修改为20岁:UPDATE student SET age=20 WHERE name='张三';例如,删除学生表格中名字为李四的记录:例如,查询student表格中姓张的男生记录:以上就是SQLite操作语句的介绍,这些基础语句已经可以满足日常开发中的大部分需求。
当然,SQLite还提供了其他高级操作,如连接查询、分组汇总、排序等,可以根据具体需求选择使用。
sqlist在c语言中用法在 C 语言中,如果你想要使用 SQL,你通常会使用 SQL 数据库的 C 接口库来执行 SQL 查询和操作数据库。
最常见的 C 接口库之一是 SQLite,它是一个轻量级的、自包含的、基于文件的 SQL 数据库引擎。
以下是在 C 语言中使用 SQLite 的基本用法:包含头文件:首先,你需要包含SQLite 头文件,通常是sqlite3.h。
#include <sqlite3.h>打开数据库:使用 sqlite3_open() 函数打开或创建一个数据库连接。
如果数据库文件不存在,则会创建一个新的数据库文件。
cCopy codesqlite3 *db;int rc = sqlite3_open("example.db", &db);if (rc != SQLITE_OK) {// 打开数据库失败fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));sqlite3_close(db);return 1;}执行 SQL 语句:你可以使用 sqlite3_exec() 函数执行 SQL 查询或操作。
cCopy codeconst char *sql = "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)";rc = sqlite3_exec(db, sql, 0, 0, 0);if (rc != SQLITE_OK) {// SQL 执行失败fprintf(stderr, "SQL error: %s\n", sqlite3_errmsg(db));sqlite3_close(db);return 1;}处理查询结果:如果执行的是查询语句,你需要使用回调函数来处理查询结果。
sqlite 基本操作SQLite是一种轻量级的关系型数据库管理系统,它提供了一套简单易用的操作接口,使得开发者可以方便地进行数据库的创建、查询、更新和删除等基本操作。
本文将介绍SQLite的基本操作,包括数据库的创建与连接、表的创建与删除、数据的插入与查询、数据的更新与删除等内容。
一、数据库的创建与连接1. 创建数据库:使用SQLite提供的命令或者API,可以创建一个新的数据库文件。
可以指定数据库文件的路径和名称,也可以使用默认的名称。
2. 连接数据库:连接数据库是指在应用程序中与数据库建立起通信的通道。
通过连接数据库,可以执行后续的操作,包括创建表、插入数据、查询数据等。
二、表的创建与删除1. 创建表:在数据库中,表是用于存储数据的结构化对象。
通过使用SQLite提供的命令或者API,可以创建一个新的表。
在创建表时,需要指定表的名称和表的字段,以及每个字段的类型和约束。
2. 删除表:当不再需要某个表时,可以使用SQLite提供的命令或者API,将其从数据库中删除。
删除表的操作将会删除表中的所有数据,因此在执行删除操作前应慎重考虑。
三、数据的插入与查询1. 插入数据:在已创建的表中,可以通过使用SQLite提供的命令或者API,向表中插入新的数据。
插入数据时,需要指定数据要插入的表和字段,以及每个字段对应的值。
2. 查询数据:查询数据是使用SQLite最常见的操作之一。
通过使用SQLite提供的命令或者API,可以从表中检索出满足特定条件的数据。
查询操作可以使用各种条件和操作符,以及排序和分组等功能。
四、数据的更新与删除1. 更新数据:在已有的表中,可以使用SQLite提供的命令或者API,更新表中的数据。
更新数据时,需要指定要更新的表和字段,以及每个字段对应的新值。
可以使用各种条件和操作符,以确定要更新的数据行。
2. 删除数据:删除数据是使用SQLite的另一个常见操作。
通过使用SQLite提供的命令或者API,可以从表中删除满足特定条件的数据。
Swift学习教程之SQLite的基础使⽤前⾔在我们的⽇常开发中,经常会遇到⽤户断⽹或者⽹络较慢的情况,这样⽤户在⼀进⼊页⾯的时候会显⽰空⽩的页⾯,那么如何避免没⽹显⽰空⽩页⾯的尴尬呢?答案就是:先在⽹络好的时候缓存⼀部分数据,这样当下次⽹络情况不好的时候,⾄少⽤户可以先看到之前缓存的内容,已达到提⾼APP的⽤户体验。
SQLite就是我们实现本地数据缓存的⼀种⽅案,SQLite有以下优点:iOS内嵌SQLite;经过时间的验证;开源;跨平台。
OK,废话不多说,现在我们就开始进⼊SQLite的体验之旅。
当然在开始之前我们要做⼀点准备⼯作,毕竟我们不打没有准备的仗。
准备⼯作创建备⽤数据导⼊SQLite3:import SQLite3创建⼀个Goods的类⽤来表⽰数据库存储的数据类型创建⼀个Goods类型的数组声明⼀个dbPath和db的全局变量,声明⼀个获取libraryDirectory路径的函数(数据库存放路径如何选择)代码如下:class Goods {let name: String!let weight: Int!var price: Double!init(name: String, weight: Int, price: Double) { = nameself.weight = weightself.price = price}}let goods = Goods(name: "computer", weight: 10, price: 2000.0)var goodArr = [Goods]()var dbPath = ""var db: OpaquePointer?func createData() {for index in 0...4 {let goods = Goods(name: "computer" + "\(index)", weight: index * 10, price: 20.0)goodArr.append(goods)}}func fetchLibraryPath() {if let libraryPathString = NSSearchPathForDirectoriesInDomains(.libraryDirectory, .userDomainMask, true).first {let pathURL = URL(fileURLWithPath: libraryPathString).appendingPathComponent("goods.sqlite")dbPath = pathURL.path}}创建并连接数据库func openDatabase() -> OpaquePointer? {var db: OpaquePointer?if sqlite3_open(dbPath, &db) == SQLITE_OK {resultLabel.text = "成功打开数据库,路径:\(dbPath)"return db} else {resultLabel.text = "打开数据库失败"return nil}}通过上⾯的代码我们可以看到,⾸先声明了⼀个OpaquePointer类型的可选值db,接下来调⽤了sqlite3_open()⽅法,该⽅法的作⽤是:如果之前创建了数据库那么直接打开,若没创建会直接创建⼀个。
sqlite环境配置方法SQLite是一种嵌入式数据库,被广泛应用于移动设备和嵌入式系统。
它的配置相对简单,主要包括以下几个方面:1. 安装SQLite软件包:2. 添加SQLite环境变量:安装完成后,需要将SQLite的可执行文件所在的路径添加到系统的环境变量中,这样在命令行中才能直接使用SQLite命令。
3.验证安装:在命令行中输入“sqlite3”命令,如果出现SQLite命令行界面,即表示安装成功了,否则需要检查是否配置正确。
输入“.help”命令可以查看SQLite支持的命令及用法。
4.创建数据库:在SQLite中,数据库是以文件的形式存在的,可以通过SQLite命令行工具创建一个新的数据库文件。
在命令行中输入“sqlite3 test.db”命令,即可创建一个名为test.db的数据库文件。
5.创建表:在创建数据库之后,就可以创建表来存储数据了。
SQLite使用SQL语言进行表的创建和数据的操作。
在SQLite命令行工具中,输入SQL语句如下:```CREATE TABLE employeeid INT PRIMARY KEY,name TEXT NOT NULL,age INT,salary REAL```上述语句创建了一个名为employee的表,包含id、name、age和salary四个字段。
6.插入数据:表创建完成后,可以通过SQL语句向表中插入数据。
在SQLite命令行工具中,输入SQL语句如下:```INSERT INTO employee (id, name, age, salary) VALUES (1,'John', 25, 5000.00);```上述语句向employee表中插入了一条记录,id为1,name为'John',age为25,salary为5000.00。
7.查询数据:插入数据之后,可以通过SQL语句从表中查询数据。
SQLite数据库的基本操作main.xml(主布局)<?xml version="1.0"encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:padding="5dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="姓名"/><EditTextandroid:id="@+id/edName"android:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:padding="5dp"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="年龄"/><EditTextandroid:id="@+id/edAge"android:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:padding="5dp"android:gravity="center"><Buttonandroid:id="@+id/btnInsert"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="添加"/><Buttonandroid:id="@+id/btnDelete"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="删除"/><Buttonandroid:id="@+id/btnUpdate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="修改"/><Buttonandroid:id="@+id/btnSelect"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="查询"/></LinearLayout><ListViewandroid:id="@+id/listView"android:layout_width="fill_parent"android:layout_height="wrap_content"android:padding="5dp"/></LinearLayout>listitem.xml(行布局)<?xml version="1.0"encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="horizontal"android:padding="5dp"><TextViewandroid:id="@+id/id"android:layout_width="80dp"android:layout_height="wrap_content"/><TextViewandroid:id="@+id/name"android:layout_width="80dp"android:layout_height="wrap_content"/><TextViewandroid:id="@+id/age"android:layout_width="80dp"android:layout_height="wrap_content"/></LinearLayout>DBHelper.java(辅助类)package spl.db.sqlite;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class DBHelper extends SQLiteOpenHelper{//创建构造器public DBHelper(Context context){super(context,"contactinfo.db",null,1);//contactinfo.db-数据库名,null-游标工厂,1-版本...下课休息...}@Overridepublic void onCreate(SQLiteDatabase db){//建表db.execSQL("create table person(_id integer primary key autoincrement,name varchar,age integer)");}@Overridepublic void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){ //版本升级}}DBDemoActivity.java(主界面)package spl.db.sqlite;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;import android.widget.SimpleAdapter;public class DBDemoActivity extends Activity{/**Called when the activity is first created.*///声明控件对象EditText edName,edAge;Button btnInsert,btnDelete,btnUpdate,btnSelect;ListView listView;@Overridepublic void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);setContentView(yout.main);//Fragment//初始化控件对象edName=(EditText)findViewById(R.id.edName);edAge=(EditText)findViewById(R.id.edAge);btnInsert=(Button)findViewById(R.id.btnInsert);btnDelete=(Button)findViewById(R.id.btnDelete);btnUpdate=(Button)findViewById(R.id.btnUpdate);btnSelect=(Button)findViewById(R.id.btnSelect);listView=(ListView)findViewById(R.id.listView);//给按钮添加监听事件btnInsert.setOnClickListener(btnListener);btnDelete.setOnClickListener(btnListener);btnUpdate.setOnClickListener(btnListener);btnSelect.setOnClickListener(btnListener);selectAll();//全查询}private OnClickListener btnListener=new OnClickListener(){@Overridepublic void onClick(View v){//判断是哪一个按钮被点击switch(v.getId()){case R.id.btnInsert:insert();selectAll();break;case R.id.btnDelete:delete();selectAll();break;case R.id.btnUpdate:update();selectAll();break;case R.id.btnSelect:select();break;default:break;}}};//增protected void insert(){DBHelper helper=new DBHelper(this);SQLiteDatabase db=helper.getReadableDatabase();ContentValues values=new ContentValues();//HashMapString name=edName.getText().toString().trim();String age=edAge.getText().toString().trim();values.put("name",name);values.put("age",age);db.insert("person",null,values);//"person"-表名,null-空值列,valuesdb.close();//关闭连接}//删protected void delete(){DBHelper helper=new DBHelper(this);SQLiteDatabase db=helper.getReadableDatabase();String name=edName.getText().toString();int row=db.delete("person","name=?",new String[]{name});//"person"-表名,"name=?"-where模板,new String[]{name}-占位符的值Log.i("spl","delete row="+row);db.close();}//改protected void update(){DBHelper helper=new DBHelper(this);SQLiteDatabase db=helper.getReadableDatabase();ContentValues values=new ContentValues();String name=edName.getText().toString();String age=edAge.getText().toString();values.put("age",age);int row=db.update("person",values,"name=?",//where模板new String[]{name});//-占位符的值Log.i("spl","update row="+row);db.close();//关闭连接}//查询protected void select(){ArrayList<HashMap<String,Object>>list=newArrayList<HashMap<String,Object>>();DBHelper helper=new DBHelper(this);SQLiteDatabase db=helper.getReadableDatabase();String age=edAge.getText().toString();Cursor cursor=db.query("person",//表名new String[]{"_id","name","age"},//列名"age=?"//where模板,new String[]{age},//-占位符的值null,//分组null,//havingnull);//排序"age desc"//解析结果集while(cursor.moveToNext()){//移到下一行HashMap<String,Object>map=new HashMap<String,Object>();map.put("id",cursor.getString(0));map.put("name",cursor.getString(1));map.put("age",cursor.getString(2));list.add(map);}cursor.close();db.close();//UI更新listView.setAdapter(new SimpleAdapter(this,list,yout.listitem,new String[]{"id","name","age"},new int[]{R.id.id,,R.id.age}));}//全查询protected void selectAll(){ArrayList<HashMap<String,Object>>list=newArrayList<HashMap<String,Object>>();DBHelper helper=new DBHelper(this);SQLiteDatabase db=helper.getReadableDatabase();Cursor cursor=db.rawQuery("select*from person",null);while(cursor.moveToNext()){HashMap<String,Object>map=new HashMap<String,Object>();map.put("id",cursor.getString(0));map.put("name",cursor.getString(1));map.put("age",cursor.getString(2));list.add(map);}cursor.close();db.close();listView.setAdapter(new SimpleAdapter(this,list,yout.listitem,new String[]{"id","name","age"},new int[]{R.id.id,,R.id.age}));}}。