android 中使用sqLite例子
16lz
2021-01-23
android 中使用sqLite例子
import java.io.FileNotFoundException;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.util.Log;
/**
*数据库操作
* @author peidw2009-04-06
*
*/
public class DatabaseHelper extends SQLiteOpenHelper{
private Contextctx = null ;
public DatabaseHelper(Contextcontext,Stringname,CursorFactoryfactory, int version){
super (context,name,factory,version);
}
@Override
public void onCreate(SQLiteDatabasearg0){
}
@Override
public void onUpgrade(SQLiteDatabasearg0, int arg1, int arg2){
}
}
package com.peidw.demo;
import java.util. * ;
import android.app. * ;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.os. * ;
import android.util. * ;
/**
*操作数据库例子
* @author peidw2009-04-19
*
*/
public class ConnectionProvider{
private static SQLiteDatabasedb = null ;
public ConnectionProvider(Contextctx){
if (db == null ){
Log.v( " ConnectionProvider " , " ctx= " + ctx.toString());
DatabaseHelperdbHelper = new DatabaseHelper(ctx, " StudDB " , null , 1 );
db = dbHelper.getWritableDatabase();
}
}
public SQLiteDatabasegetConnection(){
return db;
}
public void closeConnection(){
db.close();
}
/**
*判断表是否存在
* @param tablename
* @return
*/
public boolean isTableExits(Stringtablename){
boolean result = false ; // 表示不存在
Stringstr = " selectcount(*)xcountfromsqlite_masterwheretable=' " + tablename + " ' " ;
Cursorc = db.rawQuery(str, null );
int xcount = c.getColumnIndex( " xcount " );
if (xcount != 0 ){
result = true ; // 表存在
}
return result;
}
}
在程序中操作数所的代码片段
ConnectionProvidercp = new ConnectionProvider( this .getBaseContext());
// if(cp.isTableExits(TABLE_NAME)){ // 表已存在
createTable(cp);
queryTable(cp);
// }else{ // 表不存在
// createTable();
// }
public void createTable(ConnectionProvidercp){
SQLiteDatabasedb = cp.getConnection();
db.execSQL( " CREATETABLEIFNOTEXISTS " + TABLE_NAME + " ( "
+ " stud_no " + " TEXT, "
+ " stud_name " + " TEXT "
+ " ); " );
Stringsql_1 = " insertinto " + TABLE_NAME + " (stud_no,stud_name)values('S777','LilyChang'); " ;
Stringsql_2 = " insertinto " + TABLE_NAME + " (stud_no,stud_name)values('S888','LindaLin'); " ;
Stringsql_3 = " insertinto " + TABLE_NAME + " (stud_no,stud_name)values('S999','BruceWang'); " ;
db.execSQL(sql_1);db.execSQL(sql_2);db.execSQL(sql_3);
}
public void queryTable(ConnectionProvidercp){
Stringstr = " select*from " + TABLE_NAME;
Cursorc = cp.getConnection().rawQuery(str, null );
Log.v( " loginactive " , " 查询记录 " );
Log.v( " loginactive " ,String.valueOf(c.getCount()));
if (c != null ){
c.moveToFirst();
while ( ! c.isLast()){
Log.v( " loginactive " , " outp. " );
Stringstud_no = c.getString( 0 );
Stringstud_name = c.getString( 1 );
System.out.println(stud_no + " --------------- " + stud_name);
Log.v( " loginactive " ,stud_no + " --------------- " + stud_name);
c.moveToNext();
}
}
} 麻烦帮单击一次广告了 !!!
今晚写了个sqLite的应用例子,粘一下代码,就不详细详述了。
import java.io.FileNotFoundException;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.util.Log;
/**
*数据库操作
* @author peidw2009-04-06
*
*/
public class DatabaseHelper extends SQLiteOpenHelper{
private Contextctx = null ;
public DatabaseHelper(Contextcontext,Stringname,CursorFactoryfactory, int version){
super (context,name,factory,version);
}
@Override
public void onCreate(SQLiteDatabasearg0){
}
@Override
public void onUpgrade(SQLiteDatabasearg0, int arg1, int arg2){
}
}
package com.peidw.demo;
import java.util. * ;
import android.app. * ;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.os. * ;
import android.util. * ;
/**
*操作数据库例子
* @author peidw2009-04-19
*
*/
public class ConnectionProvider{
private static SQLiteDatabasedb = null ;
public ConnectionProvider(Contextctx){
if (db == null ){
Log.v( " ConnectionProvider " , " ctx= " + ctx.toString());
DatabaseHelperdbHelper = new DatabaseHelper(ctx, " StudDB " , null , 1 );
db = dbHelper.getWritableDatabase();
}
}
public SQLiteDatabasegetConnection(){
return db;
}
public void closeConnection(){
db.close();
}
/**
*判断表是否存在
* @param tablename
* @return
*/
public boolean isTableExits(Stringtablename){
boolean result = false ; // 表示不存在
Stringstr = " selectcount(*)xcountfromsqlite_masterwheretable=' " + tablename + " ' " ;
Cursorc = db.rawQuery(str, null );
int xcount = c.getColumnIndex( " xcount " );
if (xcount != 0 ){
result = true ; // 表存在
}
return result;
}
}
在程序中操作数所的代码片段
ConnectionProvidercp = new ConnectionProvider( this .getBaseContext());
// if(cp.isTableExits(TABLE_NAME)){ // 表已存在
createTable(cp);
queryTable(cp);
// }else{ // 表不存在
// createTable();
// }
public void createTable(ConnectionProvidercp){
SQLiteDatabasedb = cp.getConnection();
db.execSQL( " CREATETABLEIFNOTEXISTS " + TABLE_NAME + " ( "
+ " stud_no " + " TEXT, "
+ " stud_name " + " TEXT "
+ " ); " );
Stringsql_1 = " insertinto " + TABLE_NAME + " (stud_no,stud_name)values('S777','LilyChang'); " ;
Stringsql_2 = " insertinto " + TABLE_NAME + " (stud_no,stud_name)values('S888','LindaLin'); " ;
Stringsql_3 = " insertinto " + TABLE_NAME + " (stud_no,stud_name)values('S999','BruceWang'); " ;
db.execSQL(sql_1);db.execSQL(sql_2);db.execSQL(sql_3);
}
public void queryTable(ConnectionProvidercp){
Stringstr = " select*from " + TABLE_NAME;
Cursorc = cp.getConnection().rawQuery(str, null );
Log.v( " loginactive " , " 查询记录 " );
Log.v( " loginactive " ,String.valueOf(c.getCount()));
if (c != null ){
c.moveToFirst();
while ( ! c.isLast()){
Log.v( " loginactive " , " outp. " );
Stringstud_no = c.getString( 0 );
Stringstud_name = c.getString( 1 );
System.out.println(stud_no + " --------------- " + stud_name);
Log.v( " loginactive " ,stud_no + " --------------- " + stud_name);
c.moveToNext();
}
}
} 麻烦帮单击一次广告了 !!!
更多相关文章
- 【Android】Android 彩信发送的两种方式+源代码
- android中使用SQLite进行CRUD操作的实例
- Android网络操作
- Android发送短信功能代码
- MVP -----个人理解与示例(android例子 实现)
- [置顶] Android源代码下载
- Android 代码混淆 选项说明
- 反抗金山毒霸的代码