017SQLite使用方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Birdmotianlun/article/details/50262183

这里写图片描述

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/createButton1"
        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="updateDatabase" />

    <Button
        android:id="@+id/insert"
         android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="insert" />

    <Button
        android:id="@+id/update"
          android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="update" />

    <Button
        android:id="@+id/query"
       android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="query" />

    <Button
        android:id="@+id/button6"
         android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>

DatabaseHelper.java

package com.lun;

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

public class DatabaseHelper extends SQLiteOpenHelper {
    private static final int VERSION = 1;

    // 在SQLiteOpenLite中必须由该构造方法,String name为表名
    public DatabaseHelper(Context context, String name, CursorFactory factory,
            int version) {
        super(context, name, factory, version);
        // TODO 自动生成的构造函数存根
    }

    // 添加三个参数的构造方法
    public DatabaseHelper(Context context, String name, int version) {
        this(context, name, null, version);
    }

    // 添加两个参数的构造方法
    public DatabaseHelper(Context context, String name) {
        this(context, name, VERSION);
    }

    // 该函数是在第一次创建数据库时执行,实际上是第一次得到SQLiteDatabase对象时执行
    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO 自动生成的方法存根
        db.execSQL("create table table1(id int,name varchar(20))");
        System.out.println("create sqlite+++++++++++++++++++++++++++++++++");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO 自动生成的方法存根
        System.out.println("onupgrade sqlite++++++++++++++++++++++");

    }

}

MainActivity.java

package com.example.android0171;

import com.lun.DatabaseHelper;

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;



public class MainActivity extends Activity {
    private Button createButton;
    private Button updateDataButton;
    private Button insertButton;
    private Button updateButton;
    private Button queryButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        createButton = (Button) findViewById(R.id.createButton1);
        updateDataButton = (Button) findViewById(R.id.updateDatabase);
        updateButton = (Button) findViewById(R.id.update);
        insertButton = (Button) findViewById(R.id.insert);
        queryButton = (Button) findViewById(R.id.query);

        createButton.setOnClickListener(new CreateDataListener());
        updateDataButton.setOnClickListener(new UpdateListener());
        updateButton.setOnClickListener(new UpdateRecordListener());
        insertButton.setOnClickListener(new InsertListener());
        queryButton.setOnClickListener(new QueryListener());

    }

    // 创建数据库
    class CreateDataListener implements OnClickListener {

        @Override
        public void onClick(View v) {
            // TODO 自动生成的方法存根
            // 创建一个数据库对象
            DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
                    "test_lun_db");
            // 只有调用了DatabaseHelper对象的getReadableDatabase()方法,或者是getWritableDatabase()方法之后,才会创建,或打开一个数据库
            SQLiteDatabase db = dbHelper.getReadableDatabase();
        }
    }

    // 更新数据库
    class UpdateListener implements OnClickListener {

        @Override
        public void onClick(View v) {
            // TODO 自动生成的方法存根
            DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
                    "test_lun_db", 2);
            SQLiteDatabase db = dbHelper.getReadableDatabase();

        }

    }

    // 插入信息
    class InsertListener implements OnClickListener {

        @Override
        public void onClick(View v) {
            // TODO 自动生成的方法存根
            // 生成ContentValues对象
            ContentValues values = new ContentValues();
            values.put("id", 1);
            values.put("name", "laowang");
            values.put("id", 2);
            values.put("name", "laoli");
            values.put("id", 3);
            values.put("name", "laozhang");
            DatabaseHelper helper = new DatabaseHelper(MainActivity.this,
                    "test_lun_db", 2);
            SQLiteDatabase db = helper.getWritableDatabase();
            // insert("表名","列","值");
            db.insert("table1", null, values);
            System.out.println(values);

        }
    }

    // 更新信息
    class UpdateRecordListener implements OnClickListener {

        @Override
        public void onClick(View v) {
            // TODO 自动生成的方法存根

            DatabaseHelper dbHelper = new DatabaseHelper(MainActivity.this,
                    "test_lun_db");
            SQLiteDatabase db = dbHelper.getWritableDatabase();
            ContentValues values = new ContentValues();
            values.put("name", "laolier");// 更新id为2的名字
            // 第一个参数是要更新的表名
            // 第二个参数是一个ContentValeus对象
            // 第三个参数是where子句 ,?为占位符
            db.update("table1", values, "id=?", new String[] { "1" });
        }
    }

    //查询信息
    class QueryListener implements OnClickListener{

        @Override
        public void onClick(View v) {
            // TODO 自动生成的方法存根
        System.out.println("查询=====================");
        DatabaseHelper dbHelper=new DatabaseHelper(MainActivity.this, "test_lun_db");
        SQLiteDatabase db=dbHelper.getReadableDatabase();
//      Cursor cursor=db.query("table1", columns, selection, selectionArgs, groupBy, having, orderBy)
        Cursor cursor=db.query("table1",new String[]{"id","name"}, "id=?",new String[]{"1"}, null,null,null);
        while(cursor.moveToNext()){
            String name=cursor.getString(cursor.getColumnIndex("name"));
            System.out.println("query--->" + name);
        }
        }


    }
}

猜你喜欢

转载自blog.csdn.net/Birdmotianlun/article/details/50262183