zoukankan      html  css  js  c++  java
  • 用SQL语句操作Sqlite数据库的示例代码

    import android.content.Context;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;
    
    /**
     * 创建数据库帮助类 extends SQLiteOpenHelper
     */
    public class MyDbOpenHelper extends SQLiteOpenHelper {
    
    	/**
    	 * 构造方法
    	 * 
    	 * @param context
    	 *            上下文
    	 * @param name
    	 *            数据库名称
    	 * @param factory
    	 *            null
    	 * @param version
    	 *            数据库的版本号 >=1
    	 *            只能升级不能降级
    	 */
    	public MyDbOpenHelper(Context context) {
    		super(context,"Data.db",null,1);
    	}
    
    	/**
    	 * 第一次创建数据库的时候调用
    	 * 适合初始化数据库的表
    	 */
    	@Override
    	public void onCreate(SQLiteDatabase db) {
    		db.execSQL("create table stu(_id integer primary key autoincrement,name varchar(20),num varchar(20))");
    	}
    
    	/**
    	 * 数据库升级时,调用
    	 * 修改数据库的表
    	 */
    	@Override
    	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    		System.out.println("onUpgrade");
    	}
    }

    
    
    import android.app.Activity;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.view.View;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
    
        public void insert(View v) {
            // 1. 在内存中创建数据库帮助类的对象
            MyDbOpenHelper helper = new MyDbOpenHelper(this);
            // 2. 在磁盘上创建数据库文件
            SQLiteDatabase db = helper.getWritableDatabase();
            db.execSQL("insert into stu('name','num') values (?,?)", new Object[] { "AAA", "110" });
            // 释放资源
            db.close();
        }
    
        public void delete(View v) {
            // 1. 在内存中创建数据库帮助类的对象
            MyDbOpenHelper helper = new MyDbOpenHelper(this);
            // 2. 在磁盘上创建数据库文件
            SQLiteDatabase db = helper.getWritableDatabase();
            db.execSQL("delete from stu");
            // 释放资源
            db.close();
        }
    
        public void update(View v) {
            // 1. 在内存中创建数据库帮助类的对象
            MyDbOpenHelper helper = new MyDbOpenHelper(this);
            // 2. 在磁盘上创建数据库文件
            SQLiteDatabase db = helper.getWritableDatabase();
            db.execSQL("update stu set name=?",new String[]{"yadan"});
            // 释放资源
            db.close();
        }
        
        public void query(View v){
            // 1. 在内存中创建数据库帮助类的对象
            MyDbOpenHelper helper = new MyDbOpenHelper(this);
            // 2. 在磁盘上创建数据库文件
            SQLiteDatabase db = helper.getWritableDatabase();
            Cursor cursor = db.rawQuery("select * from stu", null);
            while(cursor.moveToNext()){
                String id = cursor.getString(0);
                String name = cursor.getString(1);
                String num = cursor.getString(2);         
            }
            
            // 释放资源
            db.close();
        }
    }
    
  • 相关阅读:
    Java集合框架面试题
    Java:concurrent包下面的Collection接口框架图( CopyOnWriteArraySet, CopyOnWriteArrayList,ConcurrentLinkedQueue,BlockingQueue)
    JDK1.5新特性,基础类库篇,浅谈并发工具包(Concurrency Utilities)
    《Java Concurrency》读书笔记,使用JDK并发包构建程序
    Java:多线程,Exchanger同步器
    Java:多线程,CountDownLatch同步器
    Java:多线程,CyclicBarrier同步器
    Java:多线程,Semaphore同步器
    《Java Concurrency》读书笔记,构建线程安全应用程序
    《Java Concurrency》读书笔记,Java并发编程实践基础
  • 原文地址:https://www.cnblogs.com/loaderman/p/6431874.html
Copyright © 2011-2022 走看看