一切福田,不離方寸,從心而覓,感無不通。

Android之SQLiteOpenHelper应用

1.SQLiteOpenHelper SQliteOpenHelper是一个抽象类,来管理数据库的创建和版本的管理。要使用它必须实现它的nCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase, int, int)方法 onCreate:当数据库第一次被建立的时候被执行,例如创建表,初始化数据等。 onUpgrade:当数据库需要被更新的时候执行,例如删除久表,创建新表。 2.实现代码 package xqh.utils; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase.CursorFactory; public class DBHelper extends SQLiteOpenHelper {     //数据库版本       private static final int VERSION = 1;     //新建一个表       String sql = "create table if not exists TestUsers"+     "(id int primary key,name varchar,sex varchar)";     public DBHelper(Context context, String name, CursorFactory factory,             int version) {         super(context, name, factory, version);     }     public DBHelper(Context context,String name,int version){         this(context,name,null,version);     }     public DBHelper(Context context,String name){         this(context,name,VERSION);     }     @Override     public void onCreate(SQLiteDatabase db) {         db.execSQL(sql);     }     @Override     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {     } } 3.SQLite的使用 Android提供了一个名为SQLiteDatabase的类,它封装了一些操作数据库的API。使用它能实现基本的CRUD操作,通过getWritableDatabase()和getReadableDatabase()可以获取数据库实例。 4.实现代码 package xqh.sqlite; import xqh.utils.DBHelper; import android.app.Activity; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.widget.Button; import android.util.Log; import android.view.View; import android.view.View.OnClickListener;; public class TestSQLite extends Activity {     Button textBtn = null;     Button btnCreateDb = null;     Button btnCreateTb = null;     Button btnInsert = null;     Button btnUpdate = null;     Button btnDelete = null;     DBHelper dbHelper = null;     SQLiteDatabase db = null;     @Override     protected void onCreate(Bundle savedInstanceState) {         // TODO Auto-generated method stub           super.onCreate(savedInstanceState);         setContentView(R.layout.sqlitetest);         OpenDb();         textBtn = (Button)findViewById(R.id.btnHeader);         textBtn.setFocusable(true); //        btnCreateDb = (Button)findViewById(R.id.btnCreateDb);   //        btnCreateDb.setOnClickListener(createDbListener);   //           //        btnCreateTb = (Button)findViewById(R.id.btnCreateTb);   //        btnCreateTb.setOnClickListener(createTbListener);           btnInsert = (Button)findViewById(R.id.btnInsert);         btnInsert.setOnClickListener(insertTbListener);         btnUpdate = (Button)findViewById(R.id.btnUpdate);         btnUpdate.setOnClickListener(updateTbListener);         btnDelete = (Button)findViewById(R.id.btnDelete);         btnDelete.setOnClickListener(deleteTbListener);     }     public OnClickListener deleteTbListener = new OnClickListener() {         public void onClick(View v) {             DeleteTb();         }     };     public OnClickListener updateTbListener = new OnClickListener() {         public void onClick(View v) {             UpdateTb();         }     }; […]

龙生   16 Aug 2014
View Details

为开发者推荐 21 款最佳的 Node.js 框架

Node.js 框架可以帮助你开发出更友好的 web 应用。Node.js 框架的许多特性和功能也能开发出大型的 web 应用。下面我们来介绍 21 款最好的 Node.js 框架,帮助开发者快速开发 web 应用。 Express   Total total.js 是个 web 应用框架,使用 JavaScript,HTML,CSS 和 Node.js(MVC) web 应用框架来构建 web 网站和 web 应用。   SOCKETSTREAM   SOCKET   KISS   METEOR Meteor 是构建高质量 web 应用的开源平台,能快速的开发 web 应哟给你,无论是不是专业开发者都可以使用。   MEAN MEAN 是全功能的 JavaScript Node.js 框架,简化和加速了 web 应用开发。   SPINE   KOA Koa 是 web 下一代 Node.js 框架。   WINTERSMITH wintersmith 是建立在 Node.js 基础上的灵活,简约,多平台的静态网站生成器。   SOCKETSTREME SocketStream 是 Node.js 框架,用来开发实时 web 应用。   FLATIRON Flatiron 是个适应性很强的 Node.js 框架,用来构建现代化 web 应用。   COKE COKE 是轻量级的 […]

龙生   16 Aug 2014
View Details

mysql存储过程示例

普通过程 DELIMITER // CREATE DEFINER=root@% PROCEDURE proc_insert() BEGIN insert into logs(hyname,hynumber,ip,software) values('lf4′,’nn',’127.0.0.1′,’测试'); insert into logs(hyname,hynumber,ip,software) values('lf5lf5lf5lf5lf5lf5lf5lf5lf5lf5lf5lf5lf5lf5lf5lf5lf5lf5′,’nn2′,’127.0.0.1′,’测试'); END// DELIMITER ; 带事务的过程 DELIMITER // CREATE DEFINER=root@% PROCEDURE proc_insert_tran() BEGIN DECLARE t_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; START TRANSACTION; insert into logs(hyname,hynumber,ip,software) values('lf2′,’nn',’127.0.0.1′,’测试'); insert into logs(hyname,hynumber,ip,software) values('lf3lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2lf2′,’nn2′,’127.0.0.1′,’测试'); IF t_error = 1 THEN ROLLBACK; ELSE COMMIT; END IF; END// DELIMITER ; 分页存储过程 DELIMITER // CREATE DEFINER=root@% PROCEDURE proc_paging( in pi_fields varchar(2000), in pi_tables text, in pi_where varchar(2000), in pi_orderby varchar(200), in pi_pageindex int, in pi_pagesize int, out […]

龙生   16 Aug 2014
View Details