SQLite数据库创建,增删查改
2016-12-12 16:07
106 查看
转载请注明出处:http://blog.csdn.net/mr_leixiansheng/article/details/53584005
相关文章:
步骤:
1、新建自己的数据库类继承SQLiteOpenHelper并重写(设置数据库要包含的类别)
2、主程序中实现数据库的创建,和增删查改
1、创建类
2、实现对数据库的操作
Cursor介绍:
相关文章:更快捷操作数据库LitePal
步骤:1、新建自己的数据库类继承SQLiteOpenHelper并重写(设置数据库要包含的类别)
2、主程序中实现数据库的创建,和增删查改
1、创建类
packagecom.example.administrator.sqlitetest;
importandroid.content.Context;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.database.sqlite.SQLiteOpenHelper;
importandroid.widget.Toast;
/**
*CreatedbyAdministratoron2016/12/7.
*/
publicclassMySQLiteHelperextendsSQLiteOpenHelper{
publicfinalstaticStringDB_NAME="book.db";
publicfinalstaticStringBOOK_TABLE="book";
publicfinalstaticStringPERSON_TABLE="person";
privatestaticfinalStringCREATE_BOOK="createtable"+BOOK_TABLE+"("//相当于:"createtablebook(_idintegerprimarykeyautoincrement,nametext,ageinteger)"
+"idintegerprimarykeyautoincrement,"
+"nametext,"
+"ageinteger)";
privatestaticfinalStringCREATE_PERSON="createtable"+PERSON_TABLE+"("
+"idintegerprimarykeyautoincrement,"
+"nametext,"
+"ageinteger)";
privateContextmContext;
publicMySQLiteHelper(Contextcontext,Stringname,SQLiteDatabase.CursorFactoryfactory,intversion){
super(context,name,factory,version);
mContext=context;
}
@Override
publicvoidonCreate(SQLiteDatabasesqLiteDatabase){
sqLiteDatabase.execSQL(CREATE_BOOK);
sqLiteDatabase.execSQL(CREATE_PERSON);
Toast.makeText(mContext,"CREATEOK",Toast.LENGTH_SHORT).show();
}
@Override
publicvoidonUpgrade(SQLiteDatabasesqLiteDatabase,inti,inti1){
}
}
2、实现对数据库的操作
packagecom.example.administrator.sqlite;
importandroid.content.ContentValues;
importandroid.database.Cursor;
importandroid.database.sqlite.SQLiteDatabase;
importandroid.support.v7.app.AppCompatActivity;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.widget.Button;
importandroid.widget.Toast;
importstaticcom.example.administrator.sqlitetest.MySQLiteHelper.BOOK_TABLE;
importstaticcom.example.administrator.sqlitetest.MySQLiteHelper.DB_NAME;
importjava.util.zip.CRC32;
publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{
privateMyDatabaseHelperdbHelper;
//新建,增删改查
privateButtoncreate,insert,delete,change,query;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//创建book.db数据库对象,版本号1
dbHelper=newMyDatabaseHelper(this,DB_NAME,null,1);
//获取元素ID
create=(Button)findViewById(R.id.create);
insert=(Button)findViewById(R.id.insert);
delete=(Button)findViewById(R.id.delete);
change=(Button)findViewById(R.id.change);
query=(Button)findViewById(R.id.query);
//设置按键点击监听
create.setOnClickListener(this);
insert.setOnClickListener(this);
delete.setOnClickListener(this);
change.setOnClickListener(this);
query.setOnClickListener(this);
}
@Override
publicvoidonClick(Viewview){
switch(view.getId()){
caseR.id.create:
dbHelper.getWritableDatabase();
break;
caseR.id.insert:
insertData();
Toast.makeText(this,"添加成功",Toast.LENGTH_SHORT).show();
break;
caseR.id.delete:
deletData();
Toast.makeText(this,"删除成功",Toast.LENGTH_SHORT).show();
break;
caseR.id.change:
changeDate();
Toast.makeText(this,"更改成功",Toast.LENGTH_SHORT).show();
break;
caseR.id.query:
queryData();
Toast.makeText(this,"浏览",Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
privatevoidqueryData(){
SQLiteDatabasedb=dbHelper.getWritableDatabase();
//遍历整个表格Cursor:光标
Cursorcursor=db.query(BOOK_TABLE,null,null,null,null,null,null);
//遍历符合条件的行
//Cursorcursor=db.rawQuery("select*frombookwherename='小明'",null);
//遍历
while(cursor.moveToNext()){
Stringname=cursor.getString(cursor.getColumnIndex("name"));
intage=cursor.getInt(cursor.getColumnIndex("age"));
intid=cursor.getInt(cursor.getColumnIndex("id"));
//防止空指针异常
if(name==null){
Log.i("MainActivity","id:"+id+",name:"+"null"+",age:"+String.valueOf(age));
}else{
Log.i("MainActivity","id:"+id+",name:"+name+",age:"+String.valueOf(age));
}
}
cursor.close();
}
privatevoiddeleteData(){
SQLiteDatabasedb=dbHelper.getWritableDatabase();
db.delete("book","name=?",newString[]{"小明"});
}
privatevoidchangeDate(){
SQLiteDatabasedb=dbHelper.getWritableDatabase();
ContentValuesvalues=newContentValues();
values.put("name","小黄");
db.update("book",values,"name=?",newString[]{"小红"});
}
privatevoidinsertData(){
SQLiteDatabasedb=dbHelper.getWritableDatabase();
ContentValuesvalues=newContentValues();
values.put("name","小明");
values.put("age",5);
db.insert("book",null,values);
values.clear();
values.put("name","小红");
values.put("age",10);
db.insert("book",null,values);
values.clear();
values.put("name","老王");
db.insert("book",null,values);
values.clear();
values.put("age",100);
db.insert("book",null,values);
}
}
Cursor介绍:
cursor.isClosed();//如果为TRUE表示该游标已关闭
cursor.close();//关闭游标,且释放资源
cursor.getColumnCount();//返回所有列的总数
cursor.getColumnNames();//返回一个字符串数组的列名,即将列名全部返回到一个字符串数组中
cursor.getCount();//返回Cursor中的行数
cursor.moveToFirst();//移动光标到第一行
cursor.moveToLast();//移动光标到最后一行
cursor.moveToNext();//移动光标到下一行
cursor.moveToPrevious();//移动光标到上一行
intcolumnIndex=0;
intposition=0;
cursor.getColumnName(columnIndex);//从给定的索引返回列名
cursor.moveToPosition(position);//移动光标到给定位置
相关文章推荐
- ANDROID基础学习笔记_5_SQLite数据库的创建和增删改查
- Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
- 数据库的增删改查 →创建sqlite数据库
- SQLite数据库的创建、常用方法增删改查
- 安卓使用SQLite数据库(创建、增删改查)
- SQLite数据库创建 增删改查
- SQLite数据库创建与增删查改
- android-一个文件搞定SQLite数据库的创建与更新以及增删查改
- 创建SQLite数据库并实现增删改查
- iOS-->sqlite数据库,数据表创建,数据的增删改查
- IOS 之使用FMDB进行SQLite数据库操作——表的创建与修改,以及数据的增删改查和多线程操作数据库
- SQLite数据库创建及增删改查
- IOS 之使用FMDB进行SQLite数据库操作——表的创建与修改,以及数据的增删改查和多线程操作数据库
- C# 创建Access数据库及数据表的增删改查
- 2014-10-31Android学习------SQLite数据库操作(四)-----数据库模块(二)增删改查
- 数据结构:java创建串并实现增删改查功能
- Python创建和连接SqLite数据库
- Android SQLite数据库 实现 创建表 和增删改查分页
- 数据库创建和增删改查
- MySQL控制台实现数据库创建及表的增删查改