码迷,mamicode.com
首页 > 数据库 > 详细

数据库的操作

时间:2015-02-10 01:58:21      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:数据库

//创建表

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!