Android SQLite数据库的加、删、查、改(简洁新手专用)
Android SQLite数据库的添、删、查、改(简洁新手专用)
前言
欢迎大家我分享和推荐好用的代码段~~
声明
欢迎转载,但请保留文章原始出处:
CSDN:http://www.csdn.net
雨季o莫忧离:http://blog.csdn.net/luckkof
正文
首先创建一个类MyOpenHelper,继承自SQLiteOpenHelper,用来打开或创建一个数据库
MyOpenHelper package com.SQLiteTest3; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; publicclass MyOpenHelper extends SQLiteOpenHelper { String sql ="create table if not exists TestUsers"+ "(id int primary key,name varchar,sex varchar)"; public MyOpenHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); // TODO Auto-generated constructor stub } @Override publicvoid onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL(sql); } @Override publicvoid onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { // TODO Auto-generated method stub } }
然后是实现代码:
package com.SQLiteTest3; import android.app.Activity; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.*; publicclass SQLiteTest3 extends Activity { Button btnInsert; Button btnDelete; Button btnUpdate; Button btnSelect; EditText etName; EditText etSex; TextView tvShowContent; MyOpenHelper OpenHelper; SQLiteDatabase db =null; publicstaticfinal String DB_NAME ="DBTest"; View.OnClickListener btnInsertListener =new View.OnClickListener() { @Override publicvoid onClick(View v) { // TODO Auto-generated method stub InsertTb(); } }; View.OnClickListener btnDeleteListener =new View.OnClickListener() { @Override publicvoid onClick(View v) { // TODO Auto-generated method stub DeleteTb(); } }; View.OnClickListener btnUpdateListener =new View.OnClickListener() { @Override publicvoid onClick(View v) { // TODO Auto-generated method stub UpdateTb(); } }; View.OnClickListener btnSelectListener =new View.OnClickListener() { @Override publicvoid onClick(View v) { // TODO Auto-generated method stub Select(); } }; /** Called when the activity is first created. */ @Override publicvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); OpenHelper =new MyOpenHelper(this, DB_NAME, null, 1); btnInsert = (Button) findViewById(R.id.main_btn_insert); btnDelete = (Button) findViewById(R.id.main_btn_delete); btnUpdate = (Button) findViewById(R.id.main_btn_update); btnSelect = (Button) findViewById(R.id.main_btn_select); tvShowContent = (TextView) findViewById(R.id.main_tv_showContent); etName = (EditText) findViewById(R.id.main_et_name); etSex = (EditText) findViewById(R.id.main_et_sex); btnInsert.setOnClickListener(btnInsertListener); btnDelete.setOnClickListener(btnDeleteListener); btnUpdate.setOnClickListener(btnUpdateListener); btnSelect.setOnClickListener(btnSelectListener); } publicvoid InsertTb(){ int flag =-1; db = OpenHelper.getWritableDatabase(); String strName = etName.getText().toString(); String strSex = etSex.getText().toString(); String sql ="insert into TestUsers (name,sex) values ('"+strName+"','"+strSex+"')"; try { db.execSQL(sql); } catch (SQLException e) { Log.i("err", "insert failed"); flag =0; Toast.makeText(SQLiteTest3.this, "插入失败!", Toast.LENGTH_SHORT).show(); } db.close(); if (flag ==-1){ Toast.makeText(SQLiteTest3.this, "插入成功!", Toast.LENGTH_SHORT).show(); } } publicvoid DeleteTb(){ int flag =-1; db = OpenHelper.getWritableDatabase(); String sql ="delete from TestUsers where id = 2"; try { db.execSQL(sql); } catch (SQLException e) { Log.i("err", "delete failed"); flag =0; Toast.makeText(SQLiteTest3.this, "删除失败!", Toast.LENGTH_SHORT).show(); } db.close(); if (flag ==-1){ Toast.makeText(SQLiteTest3.this, "删除成功!", Toast.LENGTH_SHORT).show(); } } publicvoid UpdateTb() { int flag =-1; db = OpenHelper.getWritableDatabase(); String Name = etName.getText().toString(); String sql ="Update TestUsers set name = 'anhong',sex = 'men' where name = '"+Name+"'"; try { db.execSQL(sql); } catch (SQLException e) { Log.i("err", "update failed"); flag =0; Toast.makeText(SQLiteTest3.this, "更新失败!", Toast.LENGTH_SHORT).show(); } db.close(); if (flag ==-1){ Toast.makeText(SQLiteTest3.this, "更新成功!", Toast.LENGTH_SHORT).show(); } } publicvoid Select(){ db = OpenHelper.getReadableDatabase(); String sql ="select sex from TestUsers where name=?"; Cursor cursor = db.rawQuery(sql, new String[] { etName.getText().toString() }); //String sql = "select sex from TestUsers"; //Cursor cursor = db.rawQuery(sql, null); int count = cursor.getCount(); String [] Sex =new String[count]; int i =0; if (cursor.getCount() >0) { // 必须使用moveToFirst方法将记录指针移动到第1条记录的位置 /* cursor.moveToFirst(); //取第一条记录 String result = cursor.getString(cursor.getColumnIndex("sex")); tvShowContent.setText(result); */ //取多条记录 int sexIndex = cursor.getColumnIndex("sex"); for(cursor.moveToFirst();!(cursor.isAfterLast());cursor.moveToNext()){ Sex[i] = cursor.getString(sexIndex); i++; } } for(int j =0; j < count; j++){ tvShowContent.append(""); tvShowContent.append(Sex[j]); } } }
main.xml
main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:text="@string/add" android:id="@+id/main_btn_insert" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> <Button android:text="@string/delete" android:id="@+id/main_btn_delete" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> <Button android:text="@string/select" android:id="@+id/main_btn_select" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> <Button android:text="@string/update" android:id="@+id/main_btn_update" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> <TextView android:text="Name" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:id="@+id/main_et_name" android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText> <TextView android:text="Sex" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:id="@+id/main_et_sex" android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText> <TextView android:id="@+id/main_tv_showContent" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> </LinearLayout>
主窗体运行截图