zoukankan      html  css  js  c++  java
  • 浅谈SQLiteOpenHelper之onCreate例子

    哈喽大家好!如果你感觉SQLiteOpenHelper不懂的可以看一下。

     onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行。

    直接上代码:

    新建一个QqlText类

    package com.example.sjk;
    
    import android.content.Context;
    import android.database.sqlite.SQLiteCursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteDatabase.CursorFactory;
    import android.database.sqlite.SQLiteOpenHelper;
    import android.util.Log;
    
    public class SqlText extends SQLiteOpenHelper{
        private static final String DB_NAME = "mydata.db"; //数据库名称
        private static final int version =1; // 数据库版本
        
    //调用父类构造器 public SqlText(Context context) { super(context, DB_NAME, null, version); //context 注意一下 } @Override public void onCreate(SQLiteDatabase db) { //新安装的软件从这里开始 String sql_message = "create table t_message (id int primary key,name varchar(50),age varchar(50))"; db.execSQL(sql_message); Log.i("hi", "创建表成功"); String sql_up1 = "insert into t_message values(1,'小白','18')"; db.execSQL(sql_up1); Log.i("hi", "版本1.0插入数据成功了"); } @Override //在原来的软件上更新会从这里开始,不卸载在线更新 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } }
     public void onCreate(SQLiteDatabase db) //本人理解为:新安装的软件从这里开始 ,其他的都不关事;

    这个时候我们的数据库已经创建好了,并且建立表,插入了数据

    选择导出:

     数据库有数据了,小白乱码了;但还是插入了数据。

    //增加点查询功能 MainActivity.java

    package com.example.sjk;
    import android.app.Activity;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.os.Bundle;
    import android.widget.TextView;
    
    
    public class MainActivity extends Activity {
    		private SqlText st; //得到SqlText这个类的context
    		private TextView tv;	
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
             tv = (TextView) findViewById(R.id.TextView);//找到这个TextView组件
             st = new SqlText(MainActivity.this);
             
             String text = query();//调用查询这个方法
             tv.setText("id 	"+"name	"+"age
    "+text);//显示
        }
        
        public String query(){//查询数据库的数据
    		String result = "";
        	//获取数据库对象
    		SQLiteDatabase db = st.getReadableDatabase();//只读:ReadableDatabase;读写:WritableDatabase
        	//查询数据库中的数据
    		Cursor cursor = db.query("t_message", null, null, null, null, null, null);
    		//结果集
    		for(int i=0;i<cursor.getCount();i++) {
    			cursor.moveToNext();
    			result +=  cursor.getInt(cursor.getColumnIndex("id"));
    			result +=  cursor.getString(cursor.getColumnIndex("name"));
    			result +=  cursor.getString(cursor.getColumnIndex("age"));	
    		}
    		cursor.close();//关闭结果集
    		db.close();//关闭数据库对象
    		return result;
        	
        }
    
    }
    

      

    结果:

  • 相关阅读:
    ffmpeg 转换VC工具已经可以生成工程文件
    ffmpeg 转换VC工具已经可以生成工程文件(续)
    ffmpeg 转换VC工具 V1.1.1
    ffmpeg 转换VC工具已经可以生成工程文件(续)
    ffmpeg 工程代码半自动转换vc工具
    ffmpeg 转换VC工具 V1.1.1
    lua 解析ffmpeg结构体时候用的正则表达式
    ffmpeg 工程代码半自动转换vc工具
    lua 解析ffmpeg结构体时候用的正则表达式
    ffmpeg 转换VC工具已经可以生成工程文件
  • 原文地址:https://www.cnblogs.com/896240130Master/p/6119616.html
Copyright © 2011-2022 走看看