复制代码 代码如下:

    /**
     * 删除数据
     * @param tableName 表名
     * @param deleteCondition 条件
     * @param deleteArgs
条件对应的值(如果deleteCondition中有“?”号,将用此数组中的值替换,一一对应)
     * @return
     */
    public boolean delete(String tableName, String deleteCondition,
String[]必发娱乐官方网站, deleteArgs) {

        CREATE_TABLE_SQL.clear();

执行数据查询方法:db.rawQuery(sql, selectionArgs); 或者db.query(table,
columns, selection, selectionArgs, groupBy, having, orderBy);

    public DBHelper(Context ctx) throws SQLException {
        this.mCtx = ctx;
        mDbHelper = new DatabaseHelper(mCtx);
        mDb = mDbHelper.getWritableDatabase();
    }

        }

//创建表
public boolean createTable(){
SQLiteDatabase db=dbHelper.getWritableDatabase();
String sql=”CREATE TABLE IF NOT EXISTS “+TABLE_NAME+”(ID INTEGER
PRIMARY KEY,Name VARCHAR,Age INTEGER)”;
try{
db.execSQL(sql);
return true;
}catch(SQLException ex){
Log.d(tag, “create table failure”);
return false;
}
}
//添加数据
public boolean addData(){
String name=etname.getText().toString();
String age=etage.getText().toString();
SQLiteDatabase db=dbHelper.getWritableDatabase();
String sql=”insert into “+TABLE_NAME+”(name,age) values
(‘”+name+”‘,'”+age+”‘)”;
try{
db.execSQL(sql);
return true;
}catch(SQLException ex){
Log.d(tag, “add data failure”);
return false;
}
}
//修改
public boolean updateData(){
SQLiteDatabase db=dbHelper.getWritableDatabase();
String sql=”update “+TABLE_NAME+” set age=’2′ where name like ‘cb'”;
Object[] bindArgs={“cb”};
try{
db.execSQL(sql, bindArgs);
return true;
}catch(SQLException ex){
Log.d(tag, “update data failure”);
return false;
}
}

   
◆onCreate(SQLiteDatabase):在数据库第一次创立的时候会调用这个方法,一般我们在这个方法里边创立数据库表。

if (null ==instance){

//查询 public void selectData(){
SQLiteDatabase db=dbHelper.getReadableDatabase();
String[] columns={“name”};
Cursor cursor=db.query(TABLE_NAME, columns, null, null, null, null,
null);
String names=””;
while(cursor.moveToNext()){
int c=cursor.getColumnIndexOrThrow(“Name”);
String name=cursor.getString(c);
//< = >
//String name=cursor.getString(0);//只查询了一列
if(names==””){
names=name;
}else{
names=names+”\n”+name;
}
}
tvname.setText(names);
//另外一种查询方法
//String sql=”select name from “+TABLE_NAME;
//Curosr cursor=db.rawQuery(sql, null);
}

   
SQLite是轻量级的、嵌入式的、关系型数据库,现在已经在iPhone、Android等手机系统中应用,SQLite可移植性好,很轻易应用,很小,高效而且牢靠。SQLite嵌入到应用它的应用程序中,它们共用雷同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它倒是完整的,自包括的数据库引擎。


您可能感兴趣的文章:

  • Android
    SQLite数据库增删改查操作的使用详解
  • Android使用SQLite数据库的简单实例
  • android创建数据库(SQLite)保存图片示例
  • 深入Android SQLite
    事务处理详解
  • Android–SQLite(增,删,改,查)操作实例代码
  • android中sqlite的按条件查找的小例子
  • android开发教程之listview显示sqlite数据
  • Android
    SQLite数据库增删改查操作的案例分析
  • Android中操作SQLite数据库快速入门教程
  • Android提高之SQLite分页表格实现方法
  • Android使用Sqlite存储数据用法示例

 上面是写好的例子,可以参考下
 

        if (null == instance) {

如果一个应用程序中的数据库无需提供对外访问,实现一个继承自SQLiteOpenHelper的数据库帮助类,以支持数据库的创建和版本的更新,
这些SQLiteDataBase所不能实现的.但是SQLiteDataBase却具备一些非常重要的对数据库进行操作的方法,数据表的创建删除、数据
的增删改查都是通过它实现的。

    ◆getReadableDatabase() 创立或者打开一个查询数据库

}

执行增删改操作方法 :db.execSQL(sql);
或者db.insert()、db.delete()、db.update(),并且包括数据表的创建和删除等等也可以通过execSQL实现

            cursor.close();
        }
        catch (Exception e) {
        }
        return result;
    }

}

复制代码 代码如下:

    SQLite分析

return instance;

            cursor.close();
        }
        catch (Exception e) {
        }
        return result;
    }

SqliteDbHelper helper = SqliteDbHelper.getInstance(context);

public void onCreate(SQLiteDatabase db) { 
  System.out.println(“create a Database”); 
  //execSQL函数用于执行SQL语句 
  db.execSQL(“create table user(id int,name varchar(20))”); 
}   

return result;

        return mDb.delete(tableName, deleteCondition, deleteArgs) >
0;
    }

    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1)
{

    1、继承SQLiteOpenHelper之后就拥有了以下两个方法:

db.setTransactionSuccessful();

    /**
     * 判断某张表是否存在
     * @param tabName 表名
     * @return
     */
    public boolean isTableExist(String tableName) {
        boolean result = false;
        if (tableName == null) {
            return false;
        }

    public void onCreate(SQLiteDatabase sqLiteDatabase) {

public DatabaseHelper(Context context, String name, CursorFactory
factory, 
   int version) { 
  //必须通过super调用父类当中的构造函数 
  super(context, name, factory, version); 
}    为了便利,也可以创立其它的构造函数,含二个参数或者三个参数的。


        return mDb.query(distinct, tableName, columns, selection,
selectionArgs, groupBy, having, orderBy, limit);
    }

        String sql = “DROP TABLE IF EXISTS ” + TABLE_NAME;

    /**
     * 执行SQL(带参数)
     * @param sql
     * @param args SQL中“?”参数值
     */
    public void execSQL(String sql, Object[] args) {
        mDb.execSQL(sql, args);

db.beginTransaction();

    private static final String   DATABASE_NAME    = “life”;

            instance = new SqliteDbHelper(context, TABLE_NAME);

    须要注意

只有增加的 方法,个人目前 喜欢写 简单的sql 语句进行查询。但是依旧需要
model类的引入。

    private static final int      DATABASE_VERSION = 1;

dbHelper.createTable(name, items);

复制代码 代码如下:

public class SqliteDbHelper extends SQLiteOpenHelper {

    }

while(cursor.moveToNext()){

   
◆他们都市返回SQLiteDatabase对象,用户通过失掉的SQLiteDatabase对象进行后续操作

        }

   
◆onOpen(SQLiteDatabase):这是当打开数据库时的回调函数,一般也不会用到。

instance =new SqliteManager();

    }

        this.onCreate(this.getReadableDatabase());

   

    }

    /**
     * 关闭数据源
     */
    public void closeConnection() {
        if (mDb != null && mDb.isOpen())
            mDb.close();
        if (mDbHelper != null)
            mDbHelper.close();
    }

public class SqliteManager {

    /**
     * 取得一个列表
     * @param distinct 是否去重复
     * @param tableName 表名
     * @param columns 要返回的列
     * @param selection 条件
     * @param selectionArgs 条件中“?”的参数值
     * @param groupBy 分组
     * @param having 分组过滤条件
     * @param orderBy 排序
     * @return
     */
    public Cursor findList(boolean distinct, String tableName,
String[] columns, String selection, String[] selectionArgs, String
groupBy, String having, String orderBy, String limit) {

}

        try {
            Cursor cursor = null;
            String sql = “select count(1) as c from sqlite_master where
type =’table’ and name ='” + tableName.trim() + “‘”;
            cursor = mDb.rawQuery(sql, null);
            if (cursor.moveToNext()) {
                int count = cursor.getInt(0);
                if (count > 0) {
                    result = true;
                }
            }

        return instance;

   
2、同时用户还可以覆盖以下回调函数,再对数据库进行操作的时候回调以下方法:

            sqLiteDatabase.execSQL(sql);

    }


 public class DBHelper {

}

        if (mCursor != null) {
            mCursor.moveToFirst();
        }
        return mCursor;

        return true;

    /**
     * 插入数据 参数
     * @param tableName 表名
     * @param initialValues 要插入的列对应值
     * @return
     */
    public long insert(String tableName, ContentValues initialValues) {

        sqLiteDatabase.execSQL(sql);

        @Override
        public void onCreate(SQLiteDatabase db) {
            //创立表结构
            db.execSQL(“CREATE TABLE life_history (id INTEGER PRIMARY
KEY AUTOINCREMENT,type TEXT, city TEXT, company TEXT, pucNum TEXT,
pucName TEXT);”);
        }

    }

        try {
            Cursor cursor = null;
            String sql = “select count(1) as c from sqlite_master where
type =’table’ and name ='” + tableName.trim() + “‘ and sql like ‘%” +
columnName.trim() + “%'”;
            cursor = mDb.rawQuery(sql, null);
            if (cursor.moveToNext()) {
                int count = cursor.getInt(0);
                if (count > 0) {
                    result = true;
                }
            }

        for (String item : items) {

复制代码 代码如下:

db.endTransaction();

    /**
     * 执行SQL
     * @param sql
     */
    public void execSQL(String sql) {
        mDb.execSQL(sql);

            sql += (“, ” + item + “text”);

        DatabaseHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

    @Override

   
在android中当须要操作SQLite数据库的时候须要失掉一个SQLiteOpenHelper对象,而SQLiteOpenHelper是一个抽象类,用户须要继承这个类,并实现该类中的一些方法。

db.insertOrThrow(name,null, item);

}
 

    }

    1、在SQLiteOepnHelper的子类当中,必须有以下该构造函数

    }

    /**
     * 取得单行记录
     * @param tableName 表名
     * @param columns 获取的列数组
     * @param selection 条件
     * @param selectionArgs 条件中“?”对应的值
     * @param groupBy 分组
     * @param having 分组条件
     * @param orderBy 排序
     * @param limit 数据区间
     * @param distinct 是否去重复
     * @return
     * @throws SQLException
     */
    public Cursor findOne(boolean distinct, String tableName, String[]
columns, String selection, String[] selectionArgs, String groupBy,
String having, String orderBy, String limit) throws SQLException {

        if (CREATE_TABLE_SQL.containsKey(name)) {

    ◆getWritableDatabase()创立或者打开一个可写数据库

}

    2、函数public void onCreate(SQLiteDatabase
db)是在调用getReadableDatabase()或者是getWritableDatabase()第一次创立数据库的时候执行,实际上是在第一次失掉SQLiteDatabse对象的时候,才会调用这个方法.

public static SqliteManager getInstance(Context context){

    private Context               mCtx;

SqliteDbHelper helper = SqliteDbHelper.getInstance(context);

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
        }
    }

            return false;

您可能感兴趣的文章:

  • Android
    SQLite数据库增删改查操作的使用详解
  • Android使用SQLite数据库的简单实例
  • android将图片转换存到数据库再从数据库读取转换成图片实现代码
  • android创建数据库(SQLite)保存图片示例
  • Android 用adb pull或push
    拷贝手机文件到到电脑上,拷贝手机数据库到电脑上,拷贝电脑数据库到手机上
  • Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)
  • Android学习笔记-保存数据到SQL数据库中(Saving Data in SQL
    Databases)
  • android实现raw文件夹导入数据库代码
  • Android中操作SQLite数据库快速入门教程
  • Android数据库操作工具类分享

        super(context, name, null, DB_VERSION, null);

   
◆onUpgrade(SQLiteDatabase,int,int):当数据库须要修改的时候,Android系统会主动的调用这个方法。一般我们在这个方法里边删除数据库表,并建立新的数据库表,当然是否还须要做其他的操作,完整取决于应用程序的需求。

dbHelper = SqliteDbHelper.getInstance(context);

        Cursor mCursor = findList(distinct, tableName, columns,
selection, selectionArgs, groupBy, having, orderBy, limit);

 private static SqliteDbHelper instance; 

    /**
     * 更新数据
     * @param tableName 表名
     * @param initialValues 要更新的列
     * @param selection 更新的条件
     * @param selectArgs 更新条件中的“?”对应的值
     * @return
     */
    public boolean update(String tableName, ContentValues initialValues,
String selection, String[] selectArgs) {
        return mDb.update(tableName, initialValues, selection,
selectArgs) > 0;
    }

 private static final int DB_VERSION = 1; 

    private static class DatabaseHelper extends SQLiteOpenHelper {

db.setTransactionSuccessful();

    /**
     *
判断某张表中是否存在某字段(注,该方法无法判断表是否存在,因此应与isTableExist一起应用)
     * @param tabName 表名
     * @param columnName 列名
     * @return
     */
    public boolean isColumnExist(String tableName, String columnName)
{
        boolean result = false;
        if (tableName == null) {
            return false;
        }

private static SqliteDbHelperdbHelper;

        return mDb.insert(tableName, null, initialValues);
    }

//遍历出表名

    private static DatabaseHelper mDbHelper;
    private static SQLiteDatabase mDb;

Cursor cursor = db.rawQuery(“select name from sqlite_master where
type=’table’;”,null);

        for (String sql : CREATE_TABLE_SQL.values()) {

            TABLE_NAME =
context.getResources().getString(R.string.app_name) + “.db”;

public void createTable(String name, String… items){

String result =null;

SQLiteDatabase db = helper.getWritableDatabase();

//遍历出表名

                + ” (Id integer primary key”;

}

private void SqliteManager(){}

        sql += “)”;

sqlite android 本地数据库,用来存储少量的数据 或者 用来处理 缓存

db.endTransaction();

public int insertTableItem(Context context, String name, ContentValues
item) {

SQLiteDatabase db = helper.getWritableDatabase();

        }

    public String getAllTableName(Context context) {

            result += cursor.getString(0) +”  “;

 private Map CREATE_TABLE_SQL = new HashMap<>();

    public boolean createTable(String name, String… items) {

        onCreate(sqLiteDatabase);

db.beginTransaction();

        String sql = “create table if not exists ” + name

        CREATE_TABLE_SQL.put(name, sql);

Log.e(“xiaobo cursor column  “, cursor.getCount()+””);

}

private static SqliteManagerinstance;

        }

}

   
//SQLiteOpenHelper创建数据库时默认是将数据库保存在’/data/data/应用程序名/databases’目录下

    private SqliteDbHelper(Context context, String name) {

return 0;

    protected static SqliteDbHelper getInstance(Context context) {

    @Override

    }

 private static String TABLE_NAME; 

需要一个 manager 来管理所有的 增删改查 同时需要自己 写简单 sql 语句

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注