SQLite学习笔记
发布时间:2020-12-12 23:48:16 所属栏目:百科 来源:网络整理
导读:1:创建一个继承自SQLiteOpenHelper的DB.java package com.example.sqlite;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.S
1:创建一个继承自SQLiteOpenHelper的DB.java package com.example.sqlite; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.database.sqlite.SQLiteOpenHelper; public class DB extends SQLiteOpenHelper { private String sql = "create table person(" +"id integer primary key autoincrement," +"name text," +"age integer)" ; public DB(Context context,String name,CursorFactory factory,int version) { super(context,name,factory,version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) { // TODO Auto-generated method stub } }
MainActivity.java package com.example.sqlite; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends ActionBarActivity { private TextView text ; private SQLiteDatabase database = null ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.text = (TextView)findViewById(R.id.text) ; SQLiteOpenHelper helper = new DB(this,"test.db",null,1) ; database = helper.getWritableDatabase() ; //开始测试所写函数 //首先放入五条数据 for(int i = 0 ;i<5 ;i++) { ContentValues values = new ContentValues() ; values.put("name","插入数据"); values.put("age",i+20); insert("person",values) ; } delete("delete from person where age>23"); //将大于23岁的都删除 Cursor cursor = query("select * from person") ; //showData(cursor); //展示数据 ContentValues values = new ContentValues() ; values.put("name","测试update方法"); values.put("age",6666); update("person",values,"age=?",new String[]{"21"}); //将全部年龄为21的设置成6666 showData(cursor); cursor.close(); database.close(); } /* * @param tableName 表名称 * @param values 数据集 */ private void insert(String tableName,ContentValues values) { if(database != null) { database.insert(tableName,values) ; //当然也可以借助database.exeSQL(sql语句执行) }else { Toast.makeText(this,"尚未实例化数据库对象!!",Toast.LENGTH_LONG).show(); } } /* * 根据SQL语句删除数据 */ private void delete(String sql) { if(database != null) { database.execSQL(sql); //当然也可以借助database.exeSQL(sql语句执行) }else { Toast.makeText(this,Toast.LENGTH_LONG).show(); } } /* * 查询语句,返回一个Cursor游标 */ private Cursor query(String sql) { Cursor cursor = database.rawQuery(sql,null) ; return cursor ; } /* * 更改数据 */ private void update(String table,ContentValues values,String whereClause,String[] whereArgs) { if(database != null) { database.update(table,whereClause,whereArgs) ; //当然也可以借助database.exeSQL(sql语句执行) }else { Toast.makeText(this,Toast.LENGTH_LONG).show(); } } /* * 展示所有数据 */ private void showData(Cursor cursor) { while(cursor.moveToNext()) { int nameColumn = cursor.getColumnIndex("name") ; int ageColumn = cursor.getColumnIndex("age") ; String name = cursor.getString(nameColumn) ; int age = cursor.getInt(ageColumn) ; this.text.append("名字:"+name+" 年龄:"+age+"n"); } this.text.append("所有数据查询完毕!"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |