安卓開發之sql語句增刪改查


package com.lidaochen.phonecall;

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

public class MyOpenHelper extends SQLiteOpenHelper {

    /**
     *
     * @param context  上下文
     * name:數據庫的名字
     * factory 目的創建cursor對象
     *
     * version 數據庫的版本   從1開始
     */
    public MyOpenHelper(Context context)
    {
        super(context, "liDaochen.db", null, 4);
    }

    /**
     * Called when the database is created for the first time.
     * 當數據庫第一次創建的時候調用
     * 那么這個方法特別適合做表結構的初始化  創建表就是寫sql語句
     */
    @Override
    public void onCreate(SQLiteDatabase db)
    {
        // id 一般以_id
        db.execSQL("create table info(_id integer primary key autoincrement,name varchar(20),phone varchar(20))");
    }

    /**
     * Called when the database needs to be upgraded
     * 當數據庫版本升級的時候調用
     *
     * 這個方法適合做   表結構的更新
     */
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVwesion)
    {
        db.execSQL("alter table info add phone varchar(20)");
    }
}
package com.lidaochen.phonecall;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity{
    private MyOpenHelper myOpenHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myOpenHelper = new MyOpenHelper(getApplicationContext());

    }

    // 打開或者創建數據庫 如果是第一次就創建
    // SQLiteDatabase db = myOpenHelper.getWritableDatabase();
    // 打開或者創建數據庫 如果是第一次就創建 如果磁盤滿了就返回只讀的
    // SQLiteDatabase sqLiteDatabase = myOpenHelper.getReadableDatabase()

    // 點擊按鈕增加一條記錄
    public void add(View v)
    {
        // 獲取數據庫對象
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        // 執行增加一條sql語句
        db.execSQL("insert into info(name,phone) values(?,?)", new Object[]{"張三", "13888888"});
        // 數據庫用完需要關閉
        db.close();
    }
    // 刪除
    public void delete(View v)
    {
        // 獲取數據庫對象
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        // 執行刪除一條sql語句
        db.execSQL("delete from info where name=?", new Object[]{"張三"});
        // 數據庫用完需要關閉
        db.close();
    }
    // 更新
    public void update(View v)
    {
        // 獲取數據庫對象
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        // 執行刪除一條sql語句
        db.execSQL("update info set phone=? where name=? ", new Object[]{"138888888", "張三"});
        // 數據庫用完需要關閉
        db.close();
    }
    // 查找
    public void find(View v)
    {
        // 獲取數據庫對象
        SQLiteDatabase db = myOpenHelper.getWritableDatabase();
        Cursor cursor = db.rawQuery("select * from info", null);
        if (cursor != null && cursor.getCount() > 0)
        {
            while (cursor.moveToNext())
            {
                // columnIndex代表列的索引
                String name = cursor.getString(1);
                String phone = cursor.getString(2);
                System.out.println(name + ": " + phone);
            }
        }
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM