标签:数据库
//创建表 createtable person(_id integer primary key autoincrement,namevarchar(32),age integer) //插入数据 insertinto person values(1,"bojie",18) insertinto person values(2,"pange",18) //删除数据 deletefrom person where name="pange" //查询数据 select name from person where _id=2 //修改数据 update person setname="pange+tanji" wherename="pange" |
sqlite
public class MySqliteHelper extends SQLiteOpenHelper { /** * version 1 * factory 数据查找的游标 默认null>>> cursor * name 数据库名 * @param context */ public MySqliteHelper(Contextcontext) { super(context,"my.db", null, 1); // TODO Auto-generatedconstructor stub } @Override public voidonCreate(SQLiteDatabase db) { db.execSQL("create tableperson (_id integer primary key autoincrement,name varchar(32),age integer)"); } |
Dao层
publicclass PersonService {
private MySqliteHelper helper;
public PersonService(Context context) { helper = new MySqliteHelper(context); } /** * 插入数据 * @param p */ publicvoid insert (Person p){
SQLiteDatabase db = helper.getWritableDatabase(); //db.execSQL("insert intoperson values("+p.getName()+","+p.getAge()+")");
if(db.isOpen()){ db.execSQL("insert into person(name,age)values (?,?)", new Object[]{p.getName(),p.getAge()}); } db.close(); } /** * 删除数据 * @param name */ publicvoid del (String name){ SQLiteDatabase db = helper.getWritableDatabase(); if(db.isOpen()){ db.execSQL("delete from person where name=?", new String[]{name}); } db.close(); }
/** * 修改数据 * @param oldName * @param newName */ publicvoid update (String oldName,StringnewName){
SQLiteDatabase db = helper.getWritableDatabase(); if(db.isOpen()){ db.execSQL("update person set name=? where name=?", new String[]{newName,oldName}); } db.close(); } /** * 查询所有数据 * @return */
public List<Person> getAll(){ List<Person> lists=new ArrayList<Person>(); SQLiteDatabase db = helper.getReadableDatabase();
if(db.isOpen()){ Cursor cursor =db.rawQuery("select name ,age from person", null); if(cursor!=null&&cursor.getCount()>0){ while(cursor.moveToNext()){ String name =cursor.getString(0); int age = cursor.getInt(1); Person person=new Person(name, age); lists.add(person); }
} cursor.close(); return lists;
} db.close(); returnnull;
} /** * 查询对应的数据 * @param id * @return */ public Person getPersonById(int id){
SQLiteDatabase db = helper.getReadableDatabase(); Person person=new Person(); if(db.isOpen()){ Cursor cursor =db.rawQuery("select name,age from person where _id=? ", new String[]{String.valueOf(id)}); if(cursor!=null&&cursor.getCount()>0){ if(cursor.moveToLast()){
String name =cursor.getString(0); person.setName(name); int age = cursor.getInt(1); person.setAge(age); }
} cursor.close(); return person; } db.close(); returnnull; } /** * 查找姓名是否存在 * @param name * @return */ publicboolean getPersonByName(String name){ boolean flag = false; SQLiteDatabase db = helper.getReadableDatabase(); if(db.isOpen()){ Cursor cursor =db.rawQuery("select count(*)from person where name =?", new String []{name}); if(cursor != null && cursor.getCount()>0){ if(cursor.moveToLast()){ int count = cursor.getCount(); flag = true; } } cursor.close(); } db.close(); return flag; } |
Activity代码
protectedvoid onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); //获取数据所有的值 dao = newPersonService(getApplicationContext()); persons = dao.getAll(); //适配器 MyAdapter adapter=new MyAdapter(); lv.setAdapter(adapter);
} privateclass MyAdapter extends BaseAdapter{
@Override publicint getCount() { // TODO Auto-generated method stub returnpersons.size(); }
@Override public Object getItem(int position) { // TODO Auto-generated method stub returnnull; }
@Override publiclong getItemId(int position) { // TODO Auto-generated method stub return 0; }
@Override public View getView(int position, View convertView,ViewGroup parent) { View view; ViewHolder holder=new ViewHolder(); if(convertView==null){ view=View.inflate(getApplicationContext(),R.layout.lv_item, null); view.setTag(holder); }else{ view=convertView; holder=(ViewHolder)view.getTag(); }
//加载相应的控件
holder.tv_name=(TextView) view.findViewById(R.id.tv_name); holder.tv_age=(TextView) view.findViewById(R.id.tv_age);
//填充数据 Person person = persons.get(position); holder.tv_name.setText(person.getName()); //注意里面值类型 holder.tv_age.setText(String.valueOf(person.getAge())); return view; }
}
privatestaticclass ViewHolder{ TextView tv_name; TextView tv_age; } |
标签:数据库
原文地址:http://9882931.blog.51cto.com/9872931/1613157