android 数据库的基本操作

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

MainActivity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="${relativePackage}.${activityClass}" >

    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
       android:onClick="add"
        android:text="添加" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="查询"
        android:onClick="select"
     />
    <Button
        android:id="@+id/button3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="删除"
        android:onClick="delete"
     />
      <Button
        android:id="@+id/button4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="修改"
        android:onClick="update"
     />

</LinearLayout>

======

MainActivity.java

package com.example.sqlite_demo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

import dao.UserDao;

public class MainActivity extends Activity {

   private UserDao dao;
   
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        dao = new UserDao(this);
        
    }
    //点击添加
    public void add(View v){
             dao.add("wzq", "天津");
    }

    //点击查询
    public void select(View v){
             String select = dao.select();
             Toast.makeText(MainActivity.this, select, Toast.LENGTH_SHORT).show();
             
    }
    //删除
    public void delete(View v){
          dao.delete("wzq");
    }
    //修改
    public void update(View v){
          dao.update("wzq", "20", "wzq");
    }
    
}

======

UserDao.java

package dao;

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

import SqliteHelper.SqliteHelper;

public class UserDao {

   private SqliteHelper sqliteHelper;
   private SQLiteDatabase database;
   
   public UserDao(Context context){
        //创建数据库
        sqliteHelper = new SqliteHelper(context);
        database = sqliteHelper.getReadableDatabase();
   }
   
   //增加    ? 占位
   public void add(String name,String age){
      
      database.execSQL("insert into users (name,age) values (?,?)",new Object[]{name,age});
      
   }
   //查询
// public List<E> select(){} 将数据展示在ListView
   public String select(){
      /**
       * 1。sql语句
       * 2.条件
       * Cursor 游标
       */
      Cursor rawQuery = database.rawQuery("select * from users", null);
      
      StringBuffer stringBuffer = new StringBuffer();
      
      while (rawQuery.moveToNext()) {
         //得到数据库的值
         String name = rawQuery.getString(rawQuery.getColumnIndex("name"));
         String age = rawQuery.getString(rawQuery.getColumnIndex("age"));
         
         stringBuffer.append(name+age);
         
      }
      
      return stringBuffer.toString();
   }
   
   //删除
   public void delete(String name){
      database.execSQL("delete from users where name = ? ",new Object[]{name});
   }
   
   //修改   update users set name = ?,age = ?   修改的值     where name = ?   条件
   public void update(String name,String age,String tj){
      database.execSQL("update users set name = ?,age = ? where name = ?",new Object[]{name,age,tj});
   }
   
}

========

SqliteHelper.java
package SqliteHelper;

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

public class SqliteHelper extends SQLiteOpenHelper {

   /**
    * 
    * @param context   上下文
    * @param name      数据库的名字
    * @param factory    工厂游标
    * @param version    版本
    */
   public SqliteHelper(Context context) {
      super(context,"User.db", null, 1);
   }
   //创建表  成功创建只能执行一次
   @Override
   public void onCreate(SQLiteDatabase db) {
      db.execSQL(
            "create table users(id integer primary key autoincrement," +
            "name text," +
            "age text)");
   }
   //升级数据库的方法
   @Override
   public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

   }

}

猜你喜欢

转载自blog.csdn.net/hubianyu/article/details/82589140
今日推荐