//创建表 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; } |