一·创建SQLite数据库
在com.bmcq.db包中,再创建一个class,即跟MainActivity.java
是同一目录下,我自己取名为personSQLiteHelper.java.
代码如下:
package com.bmcq.dp;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class personalSOLiteHelper extends SQLiteOpenHelper {
/*
* 数据库的构造方法 用来数据库的名称 数据库查询的结果集 数据库的版本
*/
public personalSOLiteHelper(Context context
) {
super(context, "person.db", null, 1);
// TODO Auto-generated constructor stub
}
@Override
/*1
* 数据库第一次被创建时调用的方法
* db 创建的数据库
* (non-Javadoc)
* @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
*/
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table person(id integer primary key autoincrement,name varchar[20],number varchar[20]) ");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
然后我们把它布置到手机中后,会在DDMS中找到person.db,
然后用SQLite Expert Person打开它,就会出现下面的情况
此时数据库就以创建成功!
*二、sql语句实现数据库的增删改查***u
在数据库中,我们有很多方式可以修改数据库里面的内容,可以直接
在数据库中实现语句的修改,也可以在eclipse中运用代码修改。
下面我先跟大家说一说这个在数据库中用语句修改·的方法!
/*
insert into person(name,number) values("zhangsan","110")//增添
select * from person//查询全部条目
select * from person where name = "zhangsan"//查询具体条目
update person set number = "119" where name = "zhangsan" //更新条目
delete from person where name ="zhangsan“//删除具体条目
*/
select * from person
由于我将上述部分代码给注释了,所以只能运行最后一行代码。
运行结果图如下
紧接在ecplise中也可以用代码实现增删改查,
package com.bmcq.dp.dao;
import java.util.ArrayList;
import java.util.List;
import android.R.integer;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.bmcq.dp.personalSOLiteHelper;
import com.bmcq.dp.domain.person;
public class PersonDao {
private personalSOLiteHelper helper;
public PersonDao(Context context )
{
helper = new personalSOLiteHelper(context);
}
/*
* add 添加一条记录到数据库
* name 姓名
* number 编号
*/
public void add(String name,String number)
{
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL("insert into person(name,number) values(?,?)", new Object[]{name,number });
db.close();
}
/*
* find 查询记录是否存在
* name 姓名
* true 存在 false 不存在
*/
public boolean find(String name)
{
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from person where name = ?", new String[]{name});
boolean result = cursor.moveToNext();
cursor.close();
db.close();
return result;
}
/*
* update 修改信息
* name 姓名
* newnumber 新号码
*/
public void update(String name,String newnumber)
{
SQLiteDatabase db = helper.getReadableDatabase();
db.execSQL("update person set number = ? where name = ?",new Object[]{newnumber,name});
db.close();
}
/*
* 删除一条记录
* name 姓名
*/
public void delete(String name)
{
SQLiteDatabase db = helper.getReadableDatabase();
db.execSQL("delete from person where name =?", new String[]{name});
db.close();
}
/*
* 返回全部的数据库信息
*/
public List<person> findAll()
{
SQLiteDatabase db = helper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from person",null);
List<person> persons = new ArrayList<person>();
while(cursor.moveToNext())
{
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String number = cursor.getString(cursor.getColumnIndex("number"));
person p = new person(id,name,number);
persons.add(p);
}
cursor.close();
db.close();
return persons;
}
}
!