专栏首页Spring相关SQLite的增删改查

SQLite的增删改查

SQLite的增删改查

1.新建一个SqliteTest

2.新建MyDatavaseHelper类:
package com.example.sqlitetest;


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;


public class MyDatavaseHelper extends SQLiteOpenHelper {

    private static final String CREATE_BOOK = "create table Book(\n" +
            "        id integer primary key autoincrement,\n" +
            "        author text,\n" +
            "        price real,\n" +
            "        pages integer,\n" +
            "        name text\n" +
            "        )";


//    private static final String CREATE_CATEGORY = "create table Category(\n" +
//            "        id integer primary key autoincrement,\n" +
//            "        category_name text,\n" +
//            "        category_code integer\n" +
//            "        )\n";

    private Context mContext;

    public MyDatavaseHelper(Context context, String name,
                            SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
        mContext = context;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_BOOK);
//        db.execSQL(CREATE_CATEGORY);

        Toast.makeText(mContext, "建表成功!", Toast.LENGTH_LONG).show();

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

//        db.execSQL("drop table if exists Book");
//        db.execSQL("drop table if exists Category");
//        onCreate(db);

    }
}
3.修改activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="vertical"
    tools:context="com.example.sqlitetest.MainActivity">

    <Button
        android:id="@+id/create_database"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:text="创建数据库"

        />


    <Button
        android:id="@+id/add_data"

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"

        android:gravity="center_vertical"

        android:text="添加数据"
        />

    <Button
        android:id="@+id/update_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:text="修改数据"
        />


    <Button
        android:id="@+id/delete_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:text="删除数据"
        />



    <Button
        android:id="@+id/query_data"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:text="查询数据"
        />


</LinearLayout>
4.修改MainActivity
package com.example.sqlitetest;

import android.content.ContentValues;
import android.content.Context;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.icu.text.LocaleDisplayNames;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import java.sql.SQLData;

public class MainActivity extends AppCompatActivity {

    private MyDatavaseHelper dbHelper;

    private static final String TAG = "MainActivity";
    Context context = getBaseContext();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        dbHelper = new MyDatavaseHelper(this, "BookStore.db", null, 1);
        Button createDatabase = (Button) findViewById(R.id.create_database);
        createDatabase.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                dbHelper.getWritableDatabase();
            }
        });

        //添加数据
        Button addData = (Button) findViewById(R.id.add_data);
        addData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db = dbHelper.getWritableDatabase();

                //第二种方法加入数据
                db.execSQL("insert into Book(name,author,pages,price) values(?,?,?,?)",
                        new String[]{
                                "oiujhk", "jhjh", "454", "165"
                        }
                );
                //第二种方法加入数据


                ContentValues values = new ContentValues();
                //开始组装第一条数据
                values.put("name", "kkk");
                values.put("author", "dan dd");
                values.put("pages", 454);
                values.put("price", 16.96);
                db.insert("Book", null, values);//插入第一条数据
                values.clear();
                // Toast.makeText(context,"增加数据成功",Toast.LENGTH_LONG).show();
                //开始第二条数据
                values.put("name", "反而费");
                values.put("author", "dan dd");
                values.put("pages", 555);
                values.put("price", 1665);
                db.insert("Book", null, values);//插入第二条数据

                Log.d(TAG, "添加成功!");
            }
        });

        /**
         * 修改数据
         */

        Button updData = (Button) findViewById(R.id.update_data);

        updData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db = dbHelper.getWritableDatabase();
                ContentValues values = new ContentValues();
                //开始组装第一条数据
                values.put("price", 45);
                db.update("Book", values, "name= ?", new String[]{
                        "kkk"
                });//修改第一条数据

                Log.d(TAG, "数据修改成功");


            }
        });


        /**
         * 删除数据
         */
        Button delData = (Button) findViewById(R.id.delete_data);

        delData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db = dbHelper.getWritableDatabase();
                db.delete("Book", "pages>?", new String[]{
                        "500"
                });

                Log.d(TAG, "删除成功");
            }
        });


        /**
         * 查询数据
         */
        Button queryData = (Button) findViewById(R.id.query_data);

        queryData.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SQLiteDatabase db = dbHelper.getWritableDatabase();

                //第二种查询方法
                Cursor cursor1 = db.rawQuery("select * from Book", null);

                //查询Book中的所有的数据
                Cursor cursor = db.query("Book", null, null, null, null, null, null);

                if (cursor.moveToFirst()) {
                    do {
                        //遍历cursor对象
                        String name = cursor.getString(cursor.getColumnIndex("name"));
                        String author = cursor.getString(cursor.getColumnIndex("author"));
                        int pages = cursor.getInt(cursor.getColumnIndex("pages"));
                        double price = cursor.getDouble(cursor.getColumnIndex("price"));

                        Log.d(TAG, "name:" + name);
                        Log.d(TAG, "author:" + author);
                        Log.d(TAG, "pages:" + pages);
                        Log.d(TAG, "price:" + price);
                    } while (cursor.moveToNext());
                }

                cursor.close();

                Log.d(TAG, "查询成功");
            }
        });

    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 体验活动的生命周期

    当窗口处于停止状态的时候,我们需要保存一部分销毁前的值,可以使用bundle,如下:

    Dream城堡
  • SQLite数据库存储

    Dream城堡
  • SharePreference存储

    Dream城堡
  • Kotlin与Databinding(一)简介封装

    code_horse
  • 拖动条SeekBar及星级评分条

    1.布局 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"...

    欢醉
  • 安卓中的数据存取

    在我们每天使用的手机设备中,无时无刻都在进行着数据的存和取。安卓作为一种手机操作系统,提供了如下方式的数据存取方式:Preference,File,Sqlite...

    lzugis
  • 杂记

    1.EditText自动获取焦点弹出软键盘 为了防止上述情况,可以在其父级控件中添加如下属性:

    夏洛克的猫
  • kotlin如何使用MVVM的开发模式

    互联网开发模式经历了MVC、MVP。Android本身的开发模式为MVC,前些年MVP大行其道,这两年MVVM逐渐开始流行,最近准备用kotlin开发一个项目,...

    大话swift
  • 六大布局之RelativeLayout

    上一期我们给大家讲解了FrameLayout的使用,这一期我们为大家讲解一下RelativeLayout(相对布局)的使用,RelativeLayout是And...

    下码看花
  • Android布局练习—计算器

    用户1515472

扫码关注云+社区

领取腾讯云代金券