加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite---T_double

发布时间:2020-12-12 20:38:43 所属栏目:百科 来源:网络整理
导读:import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DB { // 数据库相关数据 priva

import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

public class DB {

// 数据库相关数据

private static final String DATABASE_NAME = "DB.db";// 定义数据库名

private static final int DATABASE_VERSION = 1;// 数据版本,如果构造器调用的版本比之前创建的高此类自动调用onUpgrade

private static final String TABLE_NAME = "PEOPLE"; // 定义数据库表名

private Context context;// 定义上下文

private SQLiteHelper helper;// 继承于抽象类SQLiteOpenHelper

private SQLiteDatabase sDatabase;// 该类封装了一些操作数据库的API,使用该类可以完成对数据进行增删改查

private Cursor cursor;

public DB(Context ct) {

this.context = ct;

}

/*

* SQliteOpenHelper是一个抽象类,来管理数据库的创建和版本的管理。

* 要使用它必须实现它的onCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase,int,int)方法

* onCreate:当数据库第一次被建立的时候被执行,例如创建表,初始化数据等。

* onUpgrade:当数据库需要被更新的时候执行,例如删除旧表,创建新表。

*/

public class SQLiteHelper extends SQLiteOpenHelper {

public SQLiteHelper(Context context) {

super(context,DATABASE_NAME,null,DATABASE_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

// 创建表名为PEOPLE的数据表

final String P_table = "CREATE TABLE " +TABLE_NAME + " ( "

+ People.id + " integer primary key autoincrement,"

+ People.name + " text not null," + People.pwd

+ " text not null);";

db.execSQL(P_table);

}

// 如果构造器的本本比之前创建的高,就自动调用onUpgrade的方法

@Override

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

String upgrade = "DORP TABLE IF EXIST " + DATABASE_NAME;

db.execSQL(upgrade);

onCreate(db);

}

}

// ******************SQLiteHelper类结束**************************

/**

* 建立数据库连接

*/

public void Open() {

helper = new SQLiteHelper(this.context);

}

/**

* 关闭数据库连接

*/

public void Close(SQLiteDatabase sDatabase) {

if (cursor != null) {

cursor.close();

}

if (helper != null) {

helper.close();

}

}

/**

* 传入用户名,密码添加到数据库

*

* @param name

* @param pwd

* @return

*/

public int addPeople(String name,String pwd) {

String sort = "id desc";// 定义按照id降序

int count = 0;

Open();

sDatabase = helper.getWritableDatabase();

// 插入数据方法一

ContentValues values = new ContentValues();

values.put(People.name,name);

values.put(People.pwd,pwd);

sDatabase.insert(TABLE_NAME,values);

/*

* 插入数据方法二 String

* sql="insert into "+TABLE_NAME+"( "+People.name+","+People

* .pwd+" ) values ( 'mxt','mxt')"; sDatabase.execSQL(sql);

*/

cursor = sDatabase.query(TABLE_NAME,// columns 要返回的列 select *,

null,// selection 类似where,// selectionArgs,// groupBy,// having,

sort); // sort

count = cursor.getCount();

Close(sDatabase);

return count;

}

/**

* 判断用户名是否存在(登陆)

*

* @param name

* @param pwd

* @return

*/

public boolean login(String name,String pwd) {

boolean flag = false;

Open();

sDatabase = helper.getReadableDatabase();

String columns[] = { People.name };

String sql = People.name + " ='" + name + "' AND " + People.pwd + " ='"

+ pwd + "'";

cursor = sDatabase.query(TABLE_NAME,// 表名

columns,// columns 要查询出来的列名,

sql,// selection

// 查询条件子句,相当于select语句where关键字后面的部分,在条件子句允许使用占位符“?”

null,// selectionArgs 对应于selection语句中占位符的值,// groupBy 相当于select语句group by关键字后面的部分,// having 相当于select语句having关键字后面的部分,

null); // sort 相当于排序

if (cursor.moveToFirst()) {

flag = true;

}

Close(sDatabase);

return flag;

}

/*

* sDatabase.update(表名,values(更改后的数据),whereClause(更改的条件),

* whereArgs(更改的条件值)) sDatabase.insert(表名,nullColumnHack,values(要插入的数据))

* sDatabase.delete(表名,whereClause(删除的条件),whereArgs(删除条件的数据值))

*/

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读