数据库简单建立

来源:互联网 发布:邮币卡交易软件 编辑:程序博客网 时间:2024/05/17 04:19

建立数据库建立类继承SQLiteOpenHelper

public class SqliteHelp extends SQLiteOpenHelper {private static final int VIRSION = 2;public static final String STUDENT = "student";private static final String TAG = "SqliteHelp";public SqliteHelp(Context context) {                  //传一个参数即可super(context, "student.db", null,VIRSION );}public interface Colums extends BaseColumns{           //封装public static final String NAME = "name";public static final String SEX = "sextext";}@Overridepublic void onCreate(SQLiteDatabase db) {  //创建表String sql = "create table "+STUDENT+" (_id integer primary key autoincrement,"+Colums.NAME+ " text,"+Colums.SEX+" text);";db.execSQL(sql);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// TODO Auto-generated method stubLog.d(TAG, "onUpgrade");}}
建立数据库操作类,用于数据库的增删改查

其中数据库的增加,删减,更新

public class SqlOperate {private SqliteHelp helper;public SqlOperate(Context context){helper = new SqliteHelp(context);}public void inSert(String name,String sex){SQLiteDatabase database = helper.getWritableDatabase();String sql = "insert into student values(null,?,?);";      //插入列表的语句Object[] args = {name,sex};database.execSQL(sql, args);database.close();}public void delete(String name){SQLiteDatabase database = helper.getWritableDatabase();String sql = "delete from student where name = ?;";Object[] args = {name};database.execSQL(sql, args);database.close();}public void update(String name,String sex){SQLiteDatabase database = helper.getWritableDatabase();String sql = "update student set sex = ? where name = ?;";Object[] args = {name,sex};database.execSQL(sql, args);}}
数据库的查询

/** * 查询数据库里的全部信息 * @return */public List<Student> selectAll(){SQLiteDatabase database = helper.getReadableDatabase();String sql = "select * from student;";Cursor cursor = database.rawQuery(sql, null);ArrayList<Student> list = new ArrayList<Student>();while (cursor.moveToNext()) {String nameW = cursor.getString(cursor.getColumnIndex(Colums.NAME));String sexW = cursor.getString(cursor.getColumnIndex(Colums.SEX));Student student = new Student(nameW,sexW);list.add(student);}cursor.close();database.close();return list;}/** * 根据姓名查询 * @param name * @return */public Student selete(String name){                //查询语句返回值类型是Student类SQLiteDatabase database = helper.getWritableDatabase();String sql = "select * from student where name = ?;";String[] args ={name};Cursor cursor = database.rawQuery(sql,args);Student student = new Student();while (cursor.moveToNext()) {         //遍历游标String nameStu = cursor.getString(cursor.getColumnIndex(Colums.NAME));String sexStu = cursor.getString(cursor.getColumnIndex(Colums.SEX));student.setName(nameStu);student.setSex(sexStu);}cursor.close();database.close();return student;}

建立测试类,测试是否通过,测试类继承AndroidTestCase,并且样式表要改变

样式表增加

<instrumentation        android:name="android.test.InstrumentationTestRunner"        android:targetPackage="com.at.sql" />和 <uses-library android:name="android.test.runner" />
public class Test extends AndroidTestCase{public void database(){SqliteHelp helper = new SqliteHelp(getContext());helper.getWritableDatabase();}public void add(){SqlOperate dao = new SqlOperate(getContext());for (int i = 0; i < 8; i++) {       //添加多条信息String sex = " ";if (i%2==0) {         //对性别做判断sex = "male";}else{sex = "female";}dao.inSert("万达达", sex);}}}





0 0
原创粉丝点击