Android SQLite数据库操作:增删改查实战演示

发表时间: 2019-11-12 20:27

SQLite增改查删操作演示

SQLite增改查删操作演示-leansmall

《1》 效果:

《2》 UI设计:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:layout_marginBottom="50dp"

>

android:id="@+id/textView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center"

android:text="SQLite增改查删操作演示"

android:textColor="#03A9F4"

android:textSize="30sp" />

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginTop="20dp"

android:orientation="horizontal">

android:id="@+id/inset_edittext"

android:layout_width="0dp"

android:layout_weight="5"

android:layout_height="wrap_content"

android:hint="请输入要插入的数据"

android:textColorHint="#CCCCCC"/>

android:id="@+id/insert"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="2"

android:text="增加" />

android:layout_width="match_parent"

android:layout_height="wrap_content">

android:id="@+id/update_before_edittext"

android:layout_width="0dp"

android:layout_weight="2.5"

android:layout_height="wrap_content"

android:hint="请输入更新前的内容"

android:textColorHint="#CCCCCC"/>

android:id="@+id/update_after_edittext"

android:layout_width="0dp"

android:layout_weight="2.5"

android:layout_height="wrap_content"

android:hint="请输入更新后的内容"

android:textColorHint="#CCCCCC"/>

android:id="@+id/update"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="2"

android:text="修改" />

android:layout_width="match_parent"

android:layout_height="wrap_content">

android:id="@+id/delete_edittext"

android:layout_width="0dp"

android:layout_weight="5"

android:layout_height="wrap_content"

android:hint="请输入要删除的内容"

android:textColorHint="#CCCCCC"/>

android:id="@+id/delete"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="2"

android:text="删除" />

android:id="@+id/query"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="查询所有"/>

android:id="@+id/clear"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="清除所有" />

android:id="@+id/textview"

android:layout_width="match_parent"

android:layout_height="300dp"

android:layout_marginVertical="50dp"

android:layout_marginLeft="20dp"

android:layout_marginRight="20dp"

android:hint="查询内容为空"

android:textColorHint="#CCCCCC"

android:textColor="#6666FF"

android:textSize="25dp"/>

《3》 代码设计:

//1. DatabaseHelper.java 设计

public class DatabaseHelper extends SQLiteOpenHelper{

public static final String TB_NAME = "user";

//带全部参数的构造函数,此构造函数必不可少

public DatabaseHelper(Context context, String name, CursorFactory factory, int version) {

super(context, name, factory, version);

}

@Override

public void onCreate(SQLiteDatabase db) {

//创建数据库的一个表格,表格名为user,执行sql语句

String sql = "CREATE TABLE IF NOT EXISTS " + TB_NAME +"name varchar(20)";

db.execSQL(sql);

}

@Override

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

db.execSQL("DROP TABLE IF EXISTS " + TB_NAME);

onCreate(db);

}

}

//2. MainActivity.java 设计

public class MainActivity extends AppCompatActivity{

//声明所有要用到的按钮,文本框,编辑框的对象

Button insert;

Button update;

Button delete;

Button query;

Button clear;

EditText insert_edittext;

EditText delete_edittext;

EditText update_before_edittext;

EditText update_after_edittext;

TextView textview;

DatabaseHelper dbHelper;

SQLiteDatabase db;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//根据Layout按钮id得到Java按钮对象

insert = (Button) findViewById(R.id.insert);//增加按钮

update = (Button) findViewById(R.id.update);//修改按钮

delete = (Button) findViewById(R.id.delete);//删除按钮

query = (Button) findViewById(R.id.query);//查询按钮

clear = (Button)findViewById(R.id.clear);//清除编辑框和文本框内容的按钮

//因为响应点击按钮事件时要操作文本输入框中的内容

// 所以要获取相应文本输入框的对象及其中输入内容

insert_edittext = (EditText)findViewById(R.id.inset_edittext);

delete_edittext = (EditText)findViewById(R.id.delete_edittext);

update_before_edittext = (EditText)findViewById(R.id.update_before_edittext);

update_after_edittext = (EditText)findViewById(R.id.update_after_edittext);

textview = (TextView)findViewById(R.id.textview);//放置查询内容的文本框

//依靠DatabaseHelper的构造函数创建数据库

dbHelper = new DatabaseHelper(MainActivity.this, "test_db",null,1);

db = dbHelper.getWritableDatabase();

//数据库增加记录

insert.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

String insert_data = insert_edittext.getText().toString();

//创建存放数据的ContentValues对象

ContentValues values = new ContentValues();

values.put("name",insert_data);

//数据库执行插入命令

db.insert("user", null, values);

}

});

//数据库修改记录

update.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

String update_before_data = update_before_edittext.getText().toString();

String update_after_data = update_after_edittext.getText().toString();

ContentValues values2 = new ContentValues();

values2.put("name", update_after_data);

db.update("user", values2, "name = ?", new String[]{update_before_data});

}

});

//数据库删除记录

delete.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

String delete_data = delete_edittext.getText().toString();

db.delete("user", "name=?", new String[]{delete_data});

}

});

//数据库查询记录

query.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

//创建游标对象

Cursor cursor = db.query("user", new String[]{"name"}, null, null, null, null, null);

//利用游标遍历所有数据对象

//为了显示全部,把所有对象连接起来,放到TextView中

String textview_data = "";

while(cursor.moveToNext()){

String name = cursor.getString(cursor.getColumnIndex("name"));

textview_data = textview_data + "\n" + name;

}

textview.setText(textview_data);

// 关闭游标,释放资源

cursor.close();

}

});

clear.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

insert_edittext.setText("");

delete_edittext.setText("");

update_before_edittext.setText("");

update_after_edittext.setText("");

textview.setText("");

}

});

}

@Override

public void onDestroy()

{

super.onDestroy();

if(db!=null)

{

db.close();//退出时,关闭数据库

}

}

}