zoukankan      html  css  js  c++  java
  • SQLite数据库

    SQLite数据库

    1、 synchronized SQLiteDatabase getReadableDatabase();
    作用:以读写的方式打开数据库对应的SQLiteDatabase类的对象
    2、 synchronized SQLiteDatabase getWriteableDatabase();
    作用:以写的方式创建或打开库对应的SQLiteDatabase类的对象
    3、 abstract onCreate(SQLiteDatabase db);
    作用:首次创建数据库时调方法。
    4、 abstract onUpgrade(SQLiteDatabase db,int oldVersion,
    int newVersion);
    作用:数据库版本更新时调方法。
    5、 synchronized void close();
    作用:关闭所有打开的SQLiteDatabase对象。

    定义MySQLiteOpenHelper,实现增、删、改操作

    public MySQLite(Context context) {
    super(context, "person.db", null, 1);
    // TODO Auto-generated constructor stub
    }
    
    @Override
    public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table person("+
    "id Integer primary key autoincrement,"
    +"name varchar(20),"
    +"phone varchar(11));");
    }
    
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    
    }
    /**向数据库添加数据*/
    public void insert(String sql,Object[] args){
    //创建对象,以写方式打开数据库
    SQLiteDatabase db = getWritableDatabase();
    db.execSQL(sql, args);	
    }
    /**删除数据库中的数据*/
    public void delete(String sql,String [] args){
    //创建对象,以写方式打开数据库
    SQLiteDatabase db=this.getWritableDatabase();
    db.execSQL(sql,args);
    }
    /**更新数据库中的数据*/
    public void update(String sql,String [] args){
    //创建对象,以写方式打开数据库
    SQLiteDatabase db=this.getWritableDatabase();
    db.execSQL(sql,args);
    }
    /**查询数据库中的数据*/
    public Cursor query(String sql,String [] args){
    SQLiteDatabase db=getWritableDatabase();
    return db.rawQuery(sql, args);
    }
    

      

    	Button bu1;
    	Button bu2;
    	Button bu3;
    	Button bu4;
    	MySQLite ms;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.sql);
    		bu1=(Button) findViewById(R.id.bu1);
    		bu2=(Button) findViewById(R.id.bu2);
    		bu3=(Button) findViewById(R.id.bu3);
    		bu4=(Button) findViewById(R.id.bu4);
    		ms=new MySQLite(this);
    		bu1.setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				String sql=
    				"insert into person(name,phone,email) values(?,?,?)";
    				String [] args=new String []{"zs","123456","1425@qq.com"};
    				ms.insert(sql, args);
    				Toast.makeText(SQLImpl.this, "保存成功", 3000).show();
    			}
    		});
    		bu2.setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				String sql=
    					"delete from person where id=?";
    					String [] args=new String []{"1"};
    					ms.insert(sql, args);
    					Toast.makeText(SQLImpl.this, "删除成功", 3000).show();
    			}
    		});
    		bu3.setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				String sql=
    					"update person set name=?,phone=? where id=1";
    					String [] args=new String []{"zs","123456"};
    					ms.insert(sql, args);
    					Toast.makeText(SQLImpl.this, "更新成功", 3000).show();
    			}
    		});
    		bu4.setOnClickListener(new OnClickListener() {
    			
    			@Override
    			public void onClick(View v) {
    				String sql="select * from person where id=?";
    				String [] args=new String[]{"2"};
    				Cursor cursor=ms.query(sql, args);
    				if(cursor.moveToFirst()){
    					int idIndex=cursor.getColumnIndex("id");
    					String id=cursor.getString(idIndex);
    					String name=cursor.getString(
    						cursor.getColumnIndex("name"));
    					String phone=cursor.getString(
    						cursor.getColumnIndex("phone"));
    					Toast.makeText(SQLImpl.this, id+name+phone
    						, 3000).show();
    				}
    			}
    		});
    	}
    

      

  • 相关阅读:
    设计模式之四 代理模式
    设计模式之四 建造者模式
    设计模式之三 模板模式
    设计模式之二 工厂模式
    如何使用Json-lib
    Java LoggingAPI 使用方法
    设计模式之一 单例模式
    Scrapy教程
    Scrapy简介
    Scrapy安装向导
  • 原文地址:https://www.cnblogs.com/ch123456/p/6953141.html
Copyright © 2011-2022 走看看