博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android:数据库SQLite基本操作(增删改查)
阅读量:6212 次
发布时间:2019-06-21

本文共 4789 字,大约阅读时间需要 15 分钟。

数据库SQLite

public class MySQLite extends SQLiteOpenHelper {
private final String create_book = "create table book " + "(id integer primary key autoincrement, " + "price real, name text, " + "author text, pages integer)"; private final String create_category = "create table category " + "(id integer primary key autoincrement, " + "category_name text, category_code integer)"; Context ctx; public MySQLite(Context context, String name, CursorFactory factory, int version) {
super(context, name, factory, version); ctx = context; } @Override public void onCreate(SQLiteDatabase db) {
db.execSQL(create_book); db.execSQL(create_category); Toast.makeText(ctx, "Create DB", Toast.LENGTH_SHORT).show(); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (oldVersion) {
case 1: db.execSQL(create_category); case 2: db.execSQL("alter table book add column category_code integer"); default: break; } }}

增删改查操作:

public class MainActivity extends Activity {
SQLiteDatabase db; @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button) findViewById(R.id.btn); db = new MySQLite(MainActivity.this, "test", null, 2).getWritableDatabase(); btn.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
// db = new MySQLite(MainActivity.this, "test", null, 2).getWritableDatabase(); } }); // 增 Button add_btn = (Button) findViewById(R.id.add_btn); add_btn.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
ContentValues values = new ContentValues(); values.put("price", 10.00); values.put("name", "from A to Z"); values.put("author", "lwt"); values.put("pages", 300); db.insert("book", null, values); values.clear(); values.put("price", 60.00); values.put("name", "麦琪的礼物"); values.put("author", "欧亨利"); values.put("pages", 255); db.insert("book", null, values); } }); // 改 Button edit_btn = (Button) findViewById(R.id.edit_btn); edit_btn.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
ContentValues values = new ContentValues(); values.put("price", 23.00); db.update("book", values, "name=?", new String[] {
"麦琪的礼物" }); } }); // 删 Button del_btn = (Button) findViewById(R.id.del_btn); del_btn.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
db.delete("book", "id in (? , ?)", new String[] {
"1", "2" }); } }); // 查 Button sel_btn = (Button) findViewById(R.id.sel_btn); sel_btn.setOnClickListener(new OnClickListener() {
@Override public void onClick(View v) {
Cursor cursor = db.query("book", null, null, null, null, null, null); if (cursor.moveToFirst()) {
do {
String name = cursor.getString(cursor.getColumnIndex("name")); String author = cursor.getString(cursor.getColumnIndex("author")); Integer pages = cursor.getInt(cursor.getColumnIndex("pages")); Double price = cursor.getDouble(cursor.getColumnIndex("price")); Log.d("debug", String.format("name: %s, author: %s, pages: %d, price:%f", name, author, pages, price)); } while (cursor.moveToNext()); } cursor.close(); } }); }}

或直接用语句:

db.execSQL("insert into book (name, author, price, pages) values (?, ?, ?, ?)",         new String[]{
"name", "author", "10.11", "234"});db.execSQL("delete from book where name = ?", new String[]{
"lwt"});db.execSQL("update book set price = ? where name = ?", new String[]{
"99.99", "lwt"});db.rawQuery("select * from book", null);

用adb命令行查看表:

adb shell #进入shellcd data/data/com.example.testsqlite/databases #进入数据库所在目录sqlite3 test #进入数据库.table   #显示表.schame  #显示建表语句.exit    #退出

转载于:https://www.cnblogs.com/xuejianbest/p/10285032.html

你可能感兴趣的文章
unity3d中布娃娃系统
查看>>
Myeclipes快捷键
查看>>
[译] 将 Kotlin 应用于现有 Java 代码的策略
查看>>
JavaScript 包管理器工作原理简介
查看>>
sysbench测试
查看>>
Linux_NIS+NFS+Autofs
查看>>
Git工具的安装和日常使用
查看>>
这10个州是美国网络和系统管理员最佳选择
查看>>
5miles:这家电商公司,想做推动区块链技术落地的标杆
查看>>
小心吸尘器偷录家中视频:LG Hom-bot系列智能机器人有安全漏洞
查看>>
巴斯夫如何找到清洁餐具的秘密
查看>>
我国传感器细分领域跻身世界领先水平 整体水平落后
查看>>
斯诺登机密文件揭秘加拿大网络战争系统
查看>>
Red Hat在亚洲大步发展 押注容器和混合云
查看>>
网盘运营面临困境 存储服务或将迈向私有云
查看>>
2100万Gmail和500万雅虎账户在黑市公开售卖
查看>>
美国信息安全架构师的岗位职责和胜任资格
查看>>
谨防过分依赖于有影响力的用户
查看>>
印度光伏市场潜力巨大 正信光电拟积极扩大市场占有率
查看>>
软银与ARM联合公开信:ARM已成软银集团一员 业务如常
查看>>