Java 在我的android应用程序中使用两个不同的类时sqlite db出错 package com.example.myfirstapp; 公共类DB_Moshtari{ /********************如果debug设置为true,则它将显示所有L
在我的android应用程序中使用两个不同的类时sqlite db出错Java 在我的android应用程序中使用两个不同的类时sqlite db出错 package com.example.myfirstapp; 公共类DB_Moshtari{ /********************如果debug设置为true,则它将显示所有L,java,android,database,sqlite,sqliteopenhelper,Java,Android,Database,Sqlite,Sqliteopenhelper,在我的android应用程序中使用两个不同的类时sqlite db出错 package com.example.myfirstapp; 公共类DB_Moshtari{ /********************如果debug设置为true,则它将显示所有Logcat消息************/ 公共静态最终布尔调试=true; /********************Logcat标签************/ 公共静态最终字符串LOG_TAG=“DBMoshtari”; /*********
package com.example.myfirstapp;
公共类DB_Moshtari{
/********************如果debug设置为true,则它将显示所有Logcat消息************/
公共静态最终布尔调试=true;
/********************Logcat标签************/
公共静态最终字符串LOG_TAG=“DBMoshtari”;
/********************表字段************/
公共静态最终字符串键\u ID=“\u ID”;
公共静态最终字符串键\u Moshtari\u NAME=“Moshtari\u NAME”;
公共静态最终字符串键\u Moshtari\u ADDRES=“Moshtari\u ADDRES”;
公共静态最终字符串键\u Moshtari\u tel=“Moshtari\u tel”;
/********************数据库名称************/
公共静态最终字符串数据库\u NAME=“DB\u sqllite”;
/********************数据库版本(如果要升级数据库,请增加一个)************/
公共静态最终int数据库_VERSION=1;//从1开始
/**表名*/
公共静态最终字符串Moshtari_TABLE=“tbl_Moshtari”;
/********************用逗号分隔所有表格,如Moshtari_表格、ABC_表格************/
私有静态最终字符串[]ALL_TABLES={Moshtari_TABLE};
/**创建表语法*/
私有静态最终字符串Moshtari\u CREATE=“CREATE table tbl\u Moshtari(\u id integer主键自动递增,”+
“Moshtari_name text not null,Moshtari_addres text not null,Moshtari_tel text not null);”;
/********************用于以同步方式打开数据库************/
私有静态DataBaseHelper DBHelper=null;
受保护的DB_Moshtari(){
//TODO自动生成的构造函数存根
}
/*******************初始化数据库*************/
公共静态void init(上下文){
if(DBHelper==null){
如果(调试)
Log.i(“DBMoshtari”,context.toString());
DBHelper=新数据库助手(上下文);
}
}
/**********************主数据库创建内部类********************/
私有静态类DataBaseHelper扩展了SQLiteOpenHelper{
公共数据库助手(上下文){
super(上下文、数据库名称、null、数据库版本);
}
@凌驾
public void onCreate(SQLiteDatabase db){
如果(调试)
Log.i(Log_标签,“新建”);
试一试{
execSQL(Moshtari_CREATE);
}捕获(异常){
如果(调试)
i(Log_标记,“Exception onCreate()Exception”);
}
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
如果(调试)
w(日志标签,“从版本升级数据库”+旧版本
+“至“+新版本+”);
for(字符串表:所有_表){
db.execSQL(“如果存在删除表”+表);
}
onCreate(db);
}
}//内部类已关闭
/**********************以同步方式打开数据库进行插入、更新、删除********************/
私有静态同步SQLiteDatabase open()引发SQLException{
返回DBHelper.getWritableDatabase();
}
/************************一般功能**************************/
/***********************单引号的转义字符串(插入、更新)************/
私有静态字符串sqlEscapeString(字符串aString){
字符串aReturn=“”;
如果(空!=aString){
//aReturn=aString.replace(“,”);
aReturn=DatabaseUtils.sqlEscapeString(aString);
//删除包含的单引号。。。
aReturn=aReturn.substring(1,aReturn.length()-1);
}
回归轮回;
}
/***********************单引号的UnEscape字符串(显示数据)************/
私有静态字符串sqlUnEscapeString(字符串收敛){
字符串aReturn=“”;
如果(空!=aString){
aReturn=aString.replace(“,”);
}
回归轮回;
}
/********************************************************************/
/**
*所有操作(创建、读取、更新、删除)
*@param
*/
//添加新联系人
公共静态void addMoshtariData(Moshtari mData){
最终SQLiteDatabase db=open();
String name=sqlEscapeString(mData.getName());
String addres=sqlEscapeString(mData.getAddress());
字符串tel=sqlEscapeString(mData.getTel());
ContentValues cVal=新的ContentValues();
cVal.put(密钥名称、名称);
cVal.put(关键地址,地址);
cVal.put(基什塔里电话,电话);
db.insert(Moshtari_表,null,cVal);
db.close();//关闭数据库连接
}
//获得单一联系
公共静态Moshtari getMoshtariData(int-id){
最终SQLiteDatabase db=open();
Cursor Cursor=db.query(Moshtari_表,新字符串[]{KEY_ID,
KEY_Moshtari_NAME,KEY_Moshtari_ADDRES,KEY_Moshtari_tel},KEY_ID+“=?”,
新字符串[]{String.valueOf(id)},null,null,null,null);
如果(光标!=null)
cursor.moveToFirst();
Moshtari data=newmoshtari(Integer.parseInt(cursor.getString(0)),
cursor.getString(1)、cursor.getString(2)、cursor.getString(3));
//回接
返回数据;
}
//获取所有联系人
公共静态列表getAllMoshtariData(){
List contactList=new ArrayList();
//选择所有查询
String selectQuery=“SELECT*FROM”+Moshtari\u表格;
最终SQLiteDatabase db=open();
Cursor Cursor=db.rawQuery(selectQuery,null);
//循环遍历所有行并添加到列表
if(cursor.moveToFirst()){
做{
莫斯塔里数据
package com.example.myfirstapp;
public class DB_Moshtari {
/******************** if debug is set true then it will show all Logcat message ************/
public static final boolean DEBUG = true;
/******************** Logcat TAG ************/
public static final String LOG_TAG = "DBMoshtari";
/******************** Table Fields ************/
public static final String KEY_ID = "_id";
public static final String KEY_Moshtari_NAME = "Moshtari_name";
public static final String KEY_Moshtari_ADDRES = "Moshtari_addres";
public static final String KEY_Moshtari_tel = "Moshtari_tel";
/******************** Database Name ************/
public static final String DATABASE_NAME = "DB_sqllite";
/******************** Database Version (Increase one if want to also upgrade your database) ************/
public static final int DATABASE_VERSION = 1;// started at 1
/** Table names */
public static final String Moshtari_TABLE = "tbl_Moshtari";
/******************** Set all table with comma seperated like Moshtari_TABLE,ABC_TABLE ************/
private static final String[] ALL_TABLES = { Moshtari_TABLE };
/** Create table syntax */
private static final String Moshtari_CREATE = "create table tbl_Moshtari(_id integer primary key autoincrement," +
" Moshtari_name text not null, Moshtari_addres text not null,Moshtari_tel text not null);";
/******************** Used to open database in syncronized way ************/
private static DataBaseHelper DBHelper = null;
protected DB_Moshtari() {
// TODO Auto-generated constructor stub
}
/******************* Initialize database *************/
public static void init(Context context) {
if (DBHelper == null) {
if (DEBUG)
Log.i("DBMoshtari", context.toString());
DBHelper = new DataBaseHelper(context);
}
}
/********************** Main Database creation INNER class ********************/
private static class DataBaseHelper extends SQLiteOpenHelper {
public DataBaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
if (DEBUG)
Log.i(LOG_TAG, "new create");
try {
db.execSQL(Moshtari_CREATE);
} catch (Exception exception) {
if (DEBUG)
Log.i(LOG_TAG, "Exception onCreate() exception");
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (DEBUG)
Log.w(LOG_TAG, "Upgrading database from version" + oldVersion
+ "to" + newVersion + "...");
for (String table : ALL_TABLES) {
db.execSQL("DROP TABLE IF EXISTS " + table);
}
onCreate(db);
}
} // Inner class closed
/********************** Open database for insert,update,delete in syncronized manner ********************/
private static synchronized SQLiteDatabase open() throws SQLException {
return DBHelper.getWritableDatabase();
}
/************************ General functions**************************/
/*********************** Escape string for single quotes (Insert,Update)************/
private static String sqlEscapeString(String aString) {
String aReturn = "";
if (null != aString) {
//aReturn = aString.replace("'", "''");
aReturn = DatabaseUtils.sqlEscapeString(aString);
// Remove the enclosing single quotes ...
aReturn = aReturn.substring(1, aReturn.length() - 1);
}
return aReturn;
}
/*********************** UnEscape string for single quotes (show data)************/
private static String sqlUnEscapeString(String aString) {
String aReturn = "";
if (null != aString) {
aReturn = aString.replace("''", "'");
}
return aReturn;
}
/********************************************************************/
/**
* All Operations (Create, Read, Update, Delete)
* @param <MoshtariData>
*/
// Adding new contact
public static void addMoshtariData(Moshtari mData) {
final SQLiteDatabase db = open();
String name = sqlEscapeString(mData.getName());
String addres = sqlEscapeString(mData.getAddress());
String tel = sqlEscapeString(mData.getTel());
ContentValues cVal = new ContentValues();
cVal.put(KEY_Moshtari_NAME, name);
cVal.put(KEY_Moshtari_ADDRES, addres);
cVal.put(KEY_Moshtari_tel, tel );
db.insert(Moshtari_TABLE, null, cVal);
db.close(); // Closing database connection
}
// Getting single contact
public static Moshtari getMoshtariData(int id) {
final SQLiteDatabase db = open();
Cursor cursor = db.query(Moshtari_TABLE, new String[] { KEY_ID,
KEY_Moshtari_NAME, KEY_Moshtari_ADDRES,KEY_Moshtari_tel }, KEY_ID + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
Moshtari data = new Moshtari(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2), cursor.getString(3));
// return contact
return data;
}
// Getting All Contacts
public static List<Moshtari> getAllMoshtariData() {
List<Moshtari> contactList = new ArrayList<Moshtari>();
// Select All Query
String selectQuery = "SELECT * FROM " + Moshtari_TABLE;
final SQLiteDatabase db = open();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Moshtari data = new Moshtari();
data.setId(Integer.parseInt(cursor.getString(0)));
data.setName(cursor.getString(1));
data.setAddress(cursor.getString(2));
data.setTel(cursor.getString(3));
// Adding contact to list
contactList.add(data);
} while (cursor.moveToNext());
}
// return contact list
return contactList;
}
// Updating single contact
public static int updateMoshtariData(Moshtari data) {
final SQLiteDatabase db = open();
ContentValues values = new ContentValues();
values.put(KEY_Moshtari_NAME, data.getName());
values.put(KEY_Moshtari_ADDRES, data.getAddress());
values.put(KEY_Moshtari_tel, data.getTel());
// updating row
return db.update(Moshtari_TABLE, values, KEY_ID + " = ?",
new String[] { String.valueOf(data.getId()) });
}
// Deleting single contact
public static void deleteMoshtariData(Moshtari data) {
final SQLiteDatabase db = open();
db.delete(Moshtari_TABLE, KEY_ID + " = ?",
new String[] { String.valueOf(data.getId()) });
db.close();
}
// Getting contacts Count
public static int getMoshtariDataCount() {
String countQuery = "SELECT * FROM " + Moshtari_TABLE;
final SQLiteDatabase db = open();
Cursor cursor = db.rawQuery(countQuery, null);
cursor.close();
// return count
return cursor.getCount();
}
package com.example.myfirstapp;
public class DB_Taminkonande {
/******************** if debug is set true then it will show all Logcat message ************/
public static final boolean DEBUG = true;
/******************** Logcat TAG ************/
public static final String LOG_TAG = "DBTaminkonande";
/******************** Table Fields ************/
public static final String KEY_ID = "_id";
public static final String KEY_Taminkonande_NAME = "Taminkonande_name";
public static final String KEY_Taminkonande_ADDRES = "Taminkonande_addres";
public static final String KEY_Taminkonande_tel = "Taminkonande_tel";
/******************** Database Name ************/
public static final String DATABASE_NAME = "DB_sqllite";
/******************** Database Version (Increase one if want to also upgrade your database) ************/
public static final int DATABASE_VERSION = 1;// started at 1
/** Table names */
public static final String Taminkonande_TABLE = "tbl_Taminkonande";
/******************** Set all table with comma seperated like Taminkonande_TABLE,ABC_TABLE ************/
private static final String[] ALL_TABLES = { Taminkonande_TABLE };
/** Create table syntax */
private static final String Taminkonande_CREATE = "create table tbl_Taminkonande(_id integer primary key autoincrement," +
" Taminkonande_name text not null, Taminkonande_addres text not null,Taminkonande_tel text not null);";
/******************** Used to open database in syncronized way ************/
private static DataBaseHelper DBHelper = null;
protected DB_Taminkonande() {
// TODO Auto-generated constructor stub
}
/******************* Initialize database *************/
public static void init(Context context) {
if (DBHelper == null) {
if (DEBUG)
Log.i("DBTaminkonande", context.toString());
DBHelper = new DataBaseHelper(context);
}
}
/********************** Main Database creation INNER class ********************/
private static class DataBaseHelper extends SQLiteOpenHelper {
public DataBaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
if (DEBUG)
Log.i(LOG_TAG, "new create");
try {
db.execSQL(Taminkonande_CREATE);
} catch (Exception exception) {
if (DEBUG)
Log.i(LOG_TAG, "Exception onCreate() exception");
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (DEBUG)
Log.w(LOG_TAG, "Upgrading database from version" + oldVersion
+ "to" + newVersion + "...");
for (String table : ALL_TABLES) {
db.execSQL("DROP TABLE IF EXISTS " + table);
}
onCreate(db);
}
} // Inner class closed
/********************** Open database for insert,update,delete in syncronized manner ********************/
private static synchronized SQLiteDatabase open() throws SQLException {
return DBHelper.getWritableDatabase();
}
/************************ General functions**************************/
/*********************** Escape string for single quotes (Insert,Update)************/
private static String sqlEscapeString(String aString) {
String aReturn = "";
if (null != aString) {
//aReturn = aString.replace("'", "''");
aReturn = DatabaseUtils.sqlEscapeString(aString);
// Remove the enclosing single quotes ...
aReturn = aReturn.substring(1, aReturn.length() - 1);
}
return aReturn;
}
/*********************** UnEscape string for single quotes (show data)************/
private static String sqlUnEscapeString(String aString) {
String aReturn = "";
if (null != aString) {
aReturn = aString.replace("''", "'");
}
return aReturn;
}
/********************************************************************/
/**
* All Operations (Create, Read, Update, Delete)
* @param <TaminkonandeData>
*/
// Adding new contact
public static void addTaminkonandeData(Taminkonande mData) {
final SQLiteDatabase db = open();
String name = sqlEscapeString(mData.getName());
String addres = sqlEscapeString(mData.getAddress());
String tel = sqlEscapeString(mData.getTel());
ContentValues cVal = new ContentValues();
cVal.put(KEY_Taminkonande_NAME, name);
cVal.put(KEY_Taminkonande_ADDRES, addres);
cVal.put(KEY_Taminkonande_tel, tel );
db.insert(Taminkonande_TABLE, null, cVal);
db.close(); // Closing database connection
}
// Getting single contact
public static Taminkonande getTaminkonandeData(int id) {
final SQLiteDatabase db = open();
Cursor cursor = db.query(Taminkonande_TABLE, new String[] { KEY_ID,
KEY_Taminkonande_NAME, KEY_Taminkonande_ADDRES,KEY_Taminkonande_tel }, KEY_ID + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
Taminkonande data = new Taminkonande(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2), cursor.getString(3));
// return contact
return data;
}
// Getting All Contacts
public static List<Taminkonande> getAllTaminkonandeData() {
List<Taminkonande> contactList = new ArrayList<Taminkonande>();
// Select All Query
String selectQuery = "SELECT * FROM " + Taminkonande_TABLE;
final SQLiteDatabase db = open();
Cursor cursor = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Taminkonande data = new Taminkonande();
data.setId(Integer.parseInt(cursor.getString(0)));
data.setName(cursor.getString(1));
data.setAddress(cursor.getString(2));
data.setTel(cursor.getString(3));
// Adding contact to list
contactList.add(data);
} while (cursor.moveToNext());
}
// return contact list
return contactList;
}
// Updating single contact
public static int updateTaminkonandeData(Taminkonande data) {
final SQLiteDatabase db = open();
ContentValues values = new ContentValues();
values.put(KEY_Taminkonande_NAME, data.getName());
values.put(KEY_Taminkonande_ADDRES, data.getAddress());
values.put(KEY_Taminkonande_tel, data.getTel());
// updating row
return db.update(Taminkonande_TABLE, values, KEY_ID + " = ?",
new String[] { String.valueOf(data.getId()) });
}
// Deleting single contact
public static void deleteTaminkonandeData(Taminkonande data) {
final SQLiteDatabase db = open();
db.delete(Taminkonande_TABLE, KEY_ID + " = ?",
new String[] { String.valueOf(data.getId()) });
db.close();
}
// Getting contacts Count
public static int getTaminkonandeDataCount() {
String countQuery = "SELECT * FROM " + Taminkonande_TABLE;
final SQLiteDatabase db = open();
Cursor cursor = db.rawQuery(countQuery, null);
cursor.close();
// return count
return cursor.getCount();
}