Android sqlite数据库的用法

创建数据库:

package com.gdseed.canvastestboard;


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;


public class MyDatabaseHelp extends SQLiteOpenHelper {


public MyDatabaseHelp(Context context, String name, int version) {
super(context, name, null, version);
}

@Override
public void onCreate(SQLiteDatabase db) {


try {
final String sql = "create table attrs_table(id integer primary key autoincrement, mName varchar(255)," +
"dataInterface varchar(50), connPitch varchar(50), connType varchar(50), pintCount varchar(50), connDriection varchar(50)," +
"spi_PIN01 varchar(50), spi_PIN02 varchar(50), spi_PIN03 varchar(50), spi_PIN04 varchar(50), spi_PIN05 varchar(50)," +
"spi_PIN06 varchar(50), spi_PIN07 varchar(50), spi_PIN08 varchar(50), spi_PIN09 varchar(50), spi_PIN10 varchar(50)," +
"spi_PIN11 varchar(50), spi_PIN12 varchar(50), spi_PIN13 varchar(50), spi_PIN14 varchar(50), spi_PIN15 varchar(50)," +
"spi_PIN16 varchar(50), spi_PIN17 varchar(50), spi_PIN18 varchar(50), spi_PIN19 varchar(50), spi_PIN20 varchar(50)," +
"spi_PIN21 varchar(50), spi_PIN22 varchar(50), spi_PIN23 varchar(50), spi_PIN24 varchar(50), spi_PIN25 varchar(50)," +
"spi_PIN26 varchar(50), spi_PIN27 varchar(50), spi_PIN28 varchar(50), spi_PIN29 varchar(50), spi_PIN30 varchar(50)," +
"spi_PIN31 varchar(50), spi_PIN32 varchar(50))";

db.execSQL(sql);
Log.d("gdseed------>", "数据库创建成功!");
} catch(SQLiteException ex) {
ex.printStackTrace();
Log.e("gdseed------>", "数据库创建失败!");
}
}


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub


}


public void closeMyDatabaseHelp() {
super.close();
}
}


使用数据库:

package com.gdseed.canvastestboard;


import java.util.ArrayList;
import java.util.List;


import android.R.integer;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.util.Log;


public class MyDatabaseDao {
private MyDatabaseHelp dbHelp = null;
private SQLiteDatabase db = null;


//连接数据库
public MyDatabaseDao(Context context) {
dbHelp = new MyDatabaseHelp(context, "GDDatabase.db3", 1);
db = dbHelp.getReadableDatabase();

if (db != null) {
Log.d("gdseed------>", "数据库连接成功!");
}
}

//关闭数据库
public void onDestory() {

if (dbHelp != null) {
dbHelp.closeMyDatabaseHelp();
}
}

//查看数据是否重复
public boolean isInsertData(String str) {
boolean ret = false;

try{
String sql="select * from attrs_table where mName=?";
Cursor c=db.rawQuery(sql, new String[]{str});
if(c.moveToNext()) {
ret=true;
}
} catch(SQLiteException ex) {
ex.printStackTrace();
}

return ret;
}

//添加数据
public boolean insertData(String[] strs) {
boolean ret = false;

try {
String sql = "insert into attrs_table values( null, ?, ?, ?, ?, ?, ?, ?, ?," +
"?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?," +
"?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";

db.execSQL(sql, strs);
ret = true;
Log.d("gdseed------>", "添加数据成功!");
} catch (SQLiteException ex) {
ex.printStackTrace();
Log.e("gdseed------>", "添加数据失败!");
}

return ret;
}

//查询所有属性的名称
public List<String> getAllDataName() {
List<String> ret = new ArrayList<String>();

try {
String sql = "select * from attrs_table";
Cursor c = db.rawQuery(sql, null);

ret.add("          ");
while (c.moveToNext()) {
ret.add(c.getString(c.getColumnIndex("mName")));
}
} catch(SQLiteException ex) {
ex.printStackTrace();
}

return ret;
}

//获取全部属性
public String[] getDataByName(String str) {
String[] ret = new String[38];

try {
String sql = "select * from attrs_table where mName=?";
Cursor c = db.rawQuery(sql, new String[]{str});

if (c != null) {
c.moveToFirst();
ret[0] = c.getString(c.getColumnIndex("mName"));
ret[1] = c.getString(c.getColumnIndex("dataInterface"));
ret[2] = c.getString(c.getColumnIndex("connPitch"));
ret[3] = c.getString(c.getColumnIndex("connType"));
ret[4] = c.getString(c.getColumnIndex("pintCount"));
ret[5] = c.getString(c.getColumnIndex("connDriection"));
for (int i = 6; i < ret.length; i++) {
ret[i] = c.getString(i+1);
}
}
} catch(SQLiteException ex) {
ex.printStackTrace();
}

return ret;
}

//删除数据
public boolean deleteData(String str) {
boolean ret = false;

if (str.length() > 0) {

try {
String sql = "delete from attrs_table where mName=?";

db.execSQL(sql, new String[]{str});
ret = true;
Log.d("gdseed------>", "删除数据成功!");
} catch(SQLiteException ex) {
ex.printStackTrace();
Log.e("gdseed------>", "删除数据失败!");
}
}

return ret;
}
}


使用adb查看数据库(cmd下使用):

1、进入shell状态:adb shell

2、使用cd命令进入文件夹:cd databases

3、查看目录:ls

4、进入数据库:sqlite3 myDatabase.db3

5、查询数据:select * from myTable;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值