android 如何连接数据库

android 如何连接数据库,第1张

这种方式通常连接一个外部的数据库,第一个参数就是数据库文件,这个数据库不是当前项目中生成的,通常放在项目的Assets目录下,当然也可以在手机内,如上面参数那个目录,前提是那个文件存在且你的程序有访问权限。

另一种使用数据库的方式是,自己创建数据库并创建相应的数据库表,参考下面的代码:

public class DatabaseHelper extends SQLiteOpenHelper {

//构造,调用父类构造,数据库名字,版本号(传入更大的版本号可以让数据库升级,onUpgrade被调用)

public DatabaseHelper(Context context) {

super(context, DatabaseConstant.DATABASE_NAME, null, DatabaseConstant.DATABASE_VERSION)

}

//数据库创建时调用,里面执行表创建语句.

@Override

public void onCreate(SQLiteDatabase db) {

db.execSQL(createVoucherTable())

}

//数据库升级时调用,先删除旧表,在调用onCreate创建表.

@Override

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

db.execSQL("DROP TABLE IF EXISTS " + DatabaseConstant.TABLE_NAME)

onCreate(db)

}

//生成 创建表的SQL语句

private String createVoucherTable() {

StringBuffer sb = new StringBuffer()

sb.append(" CREATE TABLE ").append(DatabaseConstant.TABLE_NAME).append("( ").append(“ID”)

.append(" TEXT PRIMARY KEY, ")

.append(“USER_ID”).append(" INTEGER, ").append(“SMS_CONTENT”).append(" TEXT ) ")

return sb.toString()

}

} 继承SQLiteOpenHelper并实现里面的方法.

之后:

//得到数据库助手类

helper

=

new

DatabaseHelper(context)

//通过助手类,打开一个可读写的数据库连接

SQLiteDatabase

database

=

helper.getReadableDatabase()

//查询表中所有记录

database.query(DatabaseConstant.TABLE_NAME,

null,

null,

null,

null,

null,

null)

//把id改成你的列名

public HashMap<String, Object> Get_Info(int id){

        HashMap<String, Object> map = new HashMap<String, Object>()

        String sql = "SELECT * FROM " + TABLENAME +" WHERE ID='" +id +"'"

        Cursor result = this.db.rawQuery(sql, null) // 执行查询语句

        for (result.moveToFirst() !result.isAfterLast() result.moveToNext()) {    // 采用循环的方式检索数据

            map.put("A", result.getString(1))  

            map.put("B", result.getString(2))

            map.put("B", result.getInt(3))

        }

        this.db.close() 

        return map

}

多张表字段相同,对数据查询没有什么影响,只是涉及到同时查询多张表的时候,通过别名的方式解决。比如:

表A,字段id,nam

表B,字段id,calss

现在查询:

SELECT a.name FROM A a

LEFT JOIN B b ON b.id=a.id

WHERE 1=1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9825095.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存