数据库android操作

(1)建立数据库结构:

SqliteHelper.java

 

package USTC;

 

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import android.database.sqlite.SQLiteDatabase.CursorFactory;

import android.util.Log;

 

 

//该文件主要用来形成数据库的结构。由于在手机上没有实际的库,需要在第一次

//运行时建立库结构。

public class SqliteHelper extends SQLiteOpenHelper {

//用来保存 UserID、Access Token、Access Secret的表名

    public static final String TB_NAME="users";

    public SqliteHelper(Context context, String name, CursorFactory factory, int version) {

        super(context, name, factory, version);

    }

    //创建表

    @Override

    public void onCreate(SQLiteDatabase db) {

     try

     {

     db.execSQL("CREATE TABLE IF NOT EXISTS " 

                   +"TBVersion( SOFTNAME  varchar primary key," +

                     "VERSION varchar,"+ 

                     "BZ  varchar"+

                    ")");

        db.execSQL("CREATE TABLE IF NOT EXISTS "+

                TB_NAME+"( ID  integer primary key," +

                 "USERNAME varchar,"+ 

                 "PASSWD  varchar"+

                ")");

        Log.e("Database","onCreate");

     }catch(Exception e){

            e.printStackTrace();

        }

    }

    //更新表

 

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

        db.execSQL("DROP TABLE IF EXISTS " + TB_NAME);

        onCreate(db);

        Log.e("Database","onUpgrade");

    }

    //更新列

     public void updateColumn(SQLiteDatabase db, String oldColumn, String newColumn, String typeColumn){

        try{

            db.execSQL("ALTER TABLE " +

                    TB_NAME + " CHANGE " +

                    oldColumn + " "+ newColumn +

                    " " + typeColumn

            );

        }catch(Exception e){

            e.printStackTrace();

        }

    } 

}

(2)建立DM
package USTC;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
public class DM {
// 数据库名称
private static String DB_NAME = "mysinaweibo.db";
// 数据库版本
private static int DB_VERSION = 1;
private SQLiteDatabase db;
private SqliteHelper dbHelper;
public DM(Context context) {
dbHelper = new SqliteHelper(context, DB_NAME, null, DB_VERSION);
db = dbHelper.getWritableDatabase();
}
public Cursor getsql(String sql, String[] obj) {
try {
Cursor cursor = db.rawQuery(sql, obj);
return cursor;
} catch (Exception ex) {
Log.e("数据库操作", ex.toString());
return null;
}
}
public void Execsql(String sql, Object[] obj) {
try {
if(obj==null)db.execSQL(sql);
else
db.execSQL(sql, obj);
} catch (Exception ex) {
Log.e("数据库操作", ex.toString());
}
}
}
(3)操作实体对象数据
// 获取users表中的UserID、Access Token、Access Secret的记录
public List<UserInfo> GetUserList(Boolean isSimple) {
List<UserInfo> userList = new ArrayList<UserInfo>();
String sql = "select * from " + SqliteHelper.TB_NAME;
Cursor cursor = this.getsql(sql, null);// (SqliteHelper.TB_NAME, null,
// null, null, null, null,null);
Integer num = cursor.getCount();
if (num > 0) {
cursor.moveToFirst();
UserInfo user = new UserInfo();
user.setId(cursor.getString(0));
user.setUserName(cursor.getString(1));
user.setPasswd(cursor.getString(2));
userList.add(user);
cursor.moveToNext();
}
cursor.close();
return userList;
}
// 判断users表中的是否包含某个UserID的记录
public Boolean HaveUserInfo(String UserId) {
Boolean b = false;
Cursor cursor = db.query(SqliteHelper.TB_NAME, null, UserInfo.ID + "="
+ UserId, null, null, null, null);
b = cursor.moveToFirst();
Log.e("HaveUserInfo", b.toString());
cursor.close();
return b;
}
 
// 添加users表的记录
public void SaveUserInfo(UserInfo user) {
UserInfo.ID = user.getId();
UserInfo.USERNAME = user.getUserName();
UserInfo.PASSWD = user.getPasswd();
String sql = "insert into " + SqliteHelper.TB_NAME
+ "(ID,USERNAME,PASSWD) VALUES(?,?,?)";
String[] tmp = new String[] { UserInfo.ID, UserInfo.USERNAME,
UserInfo.PASSWD };
Execsql(sql, tmp);
// Long uid = db.insert(SqliteHelper.TB_NAME, UserInfo.ID, values);
// Log.e("SaveUserInfo",uid+"");
// return uid;
}
// 删除users表的记录
public int DelUserInfo(String UserId) {
int id = db.delete(SqliteHelper.TB_NAME, "ID=" + UserId, null);
Log.e("DelUserInfo", id + "");
return id;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值