代码如下:

public class DatabaseHelper extends SQLiteOpenHelper {  
//类没有实例化,是不能用作父类构造器的参数,必须声明为静态  
 private static final String name = "itcast"; //数据库名称  
 private static final int version = 1; //数据库版本  
 public DatabaseHelper(Context context) {  
//第三个参数CursorFactory指定在执行查询时获得一个游标实例的工厂类,设置为null,代表使用系统默认的工厂类  
super(context, name, null, version);  
 }  
@Override public void onCreate(SQLiteDatabase db) {  
  db.execSQL("CREATE TABLE IF NOT EXISTS person (personid integer primary key autoincrement, name varchar(20), age INTEGER)"); 
 }  
@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
   db.execSQL(" ALTER TABLE person ADD phone VARCHAR(12) NULL "); //往表中增加一列  
// DROP TABLE IF EXISTS person 删除表  
   }  
}

 


//在实际项目开发中,当数据库表结构发生更新时,应该避免用户存放于数//据库中的数据丢失。 
db.close();
execSQL(String sql, Object[] bindArgs)方法的第一个参数为SQL语句,第二个参数为SQL语句中占位符参数的值,参数值在数组中的顺序要和占位符的位置对应。
*/ 

 

 代码如下:
Cursor cursor = db.rawQuery(“select * from person”, null); 
while (cursor.moveToNext()) { 
int personid = cursor.getInt(0); //获取第一列的值,第一列的索引从0开始 
String name = cursor.getString(1);//获取第二列的值 
int age = cursor.getInt(2);//获取第三列的值 
} 
cursor.close(); 
      rawQuery()方法的第一个参数为select语句;第二个参数为select语句中占位符参数的值,如果select语句没有使用占位符,该参数可以设置为null。带占位符参数的select语句使用例子如下:
Cursor cursor = db.rawQuery("select * from person where name like ? and age=?", new String[]{"%传智%", "4"});
Cursor是结果集游标,用于对结果集进行随机访问,如果大家熟悉jdbc, 其实Cursor与JDBC中的ResultSet作用很相似。使用moveToNext()方法可以将游标从当前行移动到下一行,如果已经移过了结果集的最后一行,返回结果为false,否则为true。另外Cursor 还有常用的moveToPrevious()方法(用于将游标从当前行移动到上一行,如果已经移过了结果集的第一行,返回值为false,否则为true )、moveToFirst()方法(用于将游标移动到结果集的第一行,如果结果集为空,返回值为false,否则为true )和moveToLast()方法(用于将游标移动到结果集的最后一行,如果结果集为空,返回值为false,否则为true ) 。

*/ 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-09
  • 2021-07-30
  • 2021-05-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
相关资源
相似解决方案