android连接sqlite数据库实例
2014-12-02 21:19
375 查看
1.首先在MainActivity类里定义一个内部类,该类继承自SQLiteOpenHelper,之后就通过该类对象来对数据库进行增删改查:
2.在MainActivity类里定义我们要用到的宏定义:
3.定义按钮的监听器和监听事件:
1)插入按钮:
2)查询数据库中目前有几条数据按钮:
Cursor类通过query函数,可以获取这个数据库表里的所有条列。
query函数的参数说明:第一个参数是数据库表名。第二个参数是我们想要的列的信息(想要TITLE,BODY列的信息)。第三个参数是selection,相当于where语句,如果想返回所有的信息,那么就置为null。第四个参数是selectionArgs,配合第三个参数使用,如果selection用到“?”,那么此项的字符串会代替“?”。第五个参数是having。第六个参数是order by,返回结果是否需要排序,null为不需要排序。
删除一条记录按钮:
删除整个表按钮:
重新建立一个表按钮:
private static class DatabaseHelper extends SQLiteOpenHelper { public DatabaseHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub String sql = "CREATE TABLE " + TABLE_NAME + " ( " +TITLE + " text not null," + BODY + " text not null" + ");"; Log.i("sql$$$$$$$$$$$$$$$$$$$$$$$$$", sql); db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { // TODO Auto-generated method stub } }
2.在MainActivity类里定义我们要用到的宏定义:
private static final String TABLE_NAME = "DABATEST"; private static final String TITLE = "NAME"; private static final String BODY = "SAYSOMETHING"; private static final int DATABASE_VERSION = 1; DatabaseHelper mHelper = new DatabaseHelper(this,TABLE_NAME,null,DATABASE_VERSION);//重要的一句!!!定义一个内部类DatabaseHelper的对象mHelper,用new的方式去定义,传入TABLE_NAME,第三个参数基本就是null,第四个参数version是数据库版本号,通常可以定义为一个静态类常量1
3.定义按钮的监听器和监听事件:
1)插入按钮:
Button.OnClickListener insert_button_listener = new Button.OnClickListener() { public void onClick(View v) { insertItem();//自己定义的函数 } }; Button insert_Button = (Button)findViewById(R.id.insert_button); insert_Button.setOnClickListener(insert_button_listener);
private void insertItem() { // TODO Auto-generated method stub
//通过mHelper的getWritableDatabase();函数,获取一个可写的数据库SQLiteDatabase对象,用这个对象的execSQL函数来执行数据库语句。
SQLiteDatabase db = mHelper.getWritableDatabase(); String sql1 = "insert into "+TABLE_NAME+" ("+TITLE+", "+BODY+") values('icesky','android的发展真快啊');"; String sql2 = "insert into "+TABLE_NAME+" ("+TITLE+", "+BODY+") values('test','确实很快哦');"; try { Log.i("第一条数据是:", sql1);//打印输出信息,属于Info级别 Log.i("第二条数据是:", sql2); db.execSQL(sql1); db.execSQL(sql2); setTitle("插入两条数据成功"); } catch(SQLException e){ setTitle("插入两条数据失败"); }//最好放在try,catch模块中,防止程序崩溃,增加程序的健壮性 }
2)查询数据库中目前有几条数据按钮:
Button.OnClickListener show_button_listener = new Button.OnClickListener() { public void onClick(View v) { showItems();//自己定义的函数 } }; Button show_button = (Button)findViewById(R.id.show_button); show_button.setOnClickListener(show_button_listener);
private void showItems() { // TODO Auto-generated method stub SQLiteDatabase db = mHelper.getReadableDatabase(); String col[] = {TITLE,BODY}; Cursor cur = db.query(TABLE_NAME, col, null, null, null, null, null); Integer num = cur.getCount(); setTitle(Integer.toString(num)+"条记录"); }
Cursor类通过query函数,可以获取这个数据库表里的所有条列。
query函数的参数说明:第一个参数是数据库表名。第二个参数是我们想要的列的信息(想要TITLE,BODY列的信息)。第三个参数是selection,相当于where语句,如果想返回所有的信息,那么就置为null。第四个参数是selectionArgs,配合第三个参数使用,如果selection用到“?”,那么此项的字符串会代替“?”。第五个参数是having。第六个参数是order by,返回结果是否需要排序,null为不需要排序。
删除一条记录按钮:
private void deleteItems() { // TODO Auto-generated method stub try{ SQLiteDatabase db = mHelper.getWritableDatabase(); db.delete(TABLE_NAME,TITLE+"= 'test'", null);//注意delete语句使用 setTitle("删除了一条记录"); } catch(SQLException e){ setTitle("删除失败了"); } }
删除整个表按钮:
private void DropTable() { // TODO Auto-generated method stub SQLiteDatabase db = mHelper.getWritableDatabase(); String sql = "drop table " +TABLE_NAME; try{ db.execSQL(sql); setTitle("删除表成功"); }catch(SQLException e) { setTitle("删除表失败"); } }
重新建立一个表按钮:
private void CreateTable() { // TODO Auto-generated method stub SQLiteDatabase db = mHelper.getWritableDatabase(); String sql = "CREATE TABLE "+TABLE_NAME + "( " +TITLE+" text not null, " +BODY + " text not null "+");"; Log.i("SQL%%%%%%%%%%%%%%",sql);//<span style="color:#cc0000;">最好把语句打印出来,这是一个好的习惯。这样如果数据库语句写错了,可以在logcat里查看哪里出错,如果因为少个括号,少个空格,大小写错误而找了半天原因,会很浪费时间。</span> try{ db.execSQL(sql); setTitle("新建数据库成功"); }catch(SQLException e){ setTitle("新建数据库失败"); } }
相关文章推荐
- android连接SQLite数据库-----增加改查+分页
- android连接SQLite数据库-----增加改查+分页
- android 中连接h2数据库实例
- qt5连接sqlite数据库实例
- 2014-10-31Android学习------SQLite数据库操作(四)-----数据库模块(二)增删改查实例展示
- Android底层连接库的编译过程及其Android NDK开发实例
- Android如何使用JDBC连接SQLite数据库?
- qt5连接sqlite数据库实例
- Android使用SQLite数据库的简单实例
- Android Http连接 实例:发送请求和接收响应
- Android与人人网连接实例:我在听
- android wifi连接开发实例
- Android连接SQLite数据库
- qt5连接sqlite数据库实例
- 用一个小实例说明android运用SqLite数据库的方法-唐诗三百首
- Android通过jsp连接Oracle数据库 -- 实例
- Android数据存储(六)、SQLite数据库使用实例
- android连接SQLite数据库-----增加改查+分页
- Android中查看USB连接的外接设备信息的代码实例
- Android技术——数据库(三):SQLite数据库应用实例