zr.zrpower.common.db
类 dbEngine

java.lang.Object
  继承者 zr.zrpower.common.db.dbEngine

public class dbEngine
extends java.lang.Object

Title: 数据库控制引擎

Description: 数据库控制引擎

Copyright: Copyright (c) NFZR 2013

Company: Guizhou NFZR

单元名称:dbEngine.java
中文解释:数据控制引擎类

作用:提供给外部程序调用的数据库控制引擎,通过其引擎访问所有数据库及其操作。
外部程序调用方法:1.创建新的数据控制引擎对象,传入数据源JNID和是否需要转换汉字编码参数。
2.调用引擎初始化函数initialize(),其返回值确定引擎是否初始化成功。
如果初始化失败,请检查数据控制引擎的日志文件,里面会有初始化失败信息。
3.初始化成功后,即可调用引擎提供数据库控制方法对数据库进行相应操作。

版本:
6.1
作者:
NFZR

构造函数摘要
dbEngine(java.lang.String dsJNID, boolean Convert)
          引擎构造函数
 
方法摘要
 boolean ExecuteDelete(java.lang.String TableName, java.lang.String Condition)
          删除表中的记录
 boolean ExecuteEdit(zr.zrpower.common.db.dbRow dbrow)
          编辑记录保存到数据库
调用前提:必须设置主键和主键值
 boolean ExecuteEdit(zr.zrpower.common.db.dbRow dbrow, java.lang.String Condition)
          编辑记录保存到数据库
 boolean ExecuteInsert(zr.zrpower.common.db.dbRow dbrow)
          插入记录到数据库
 boolean ExecuteSQL(java.lang.String SQL)
          执行单SQL语句操作
 boolean ExecuteSQL(java.lang.String SQL,java.lang.String[] value)
          执行单SQL语句操作,类似Hibernate执行sql语句的参数传递。
 boolean ExecuteSQLs(java.lang.String[] SQLs)
          执行多SQL语句操作
 boolean ExecuteSQLs(java.lang.String[] SQLs,java.lang.ArrayList value)
          执行多SQL语句操作,类似Hibernate执行sql语句的参数传递。
 boolean ExecuteSQLs(java.lang.String SQLs,java.lang.String[][] value)
          执行多SQL语句操作,类似Hibernate执行sql语句的参数传递。
 boolean initialize()
          初始化函数
 zr.zrpower.common.db.dbSet QueryColumns(java.lang.String TableName, java.lang.String[] ColumnName)
          数据库查询操作
 zr.zrpower.common.db.dbSet QueryCondition(java.lang.String TableName, java.lang.String[] ColumnName, java.lang.String Condition)
          数据库查询操作
 zr.zrpower.common.db.dbSet QuerySQL(java.lang.String strSQL)
          执行查询(多态2)
 zr.zrpower.common.db.dbSet QuerySQL(java.lang.String strSQL, java.lang.String TableName)
          执行查询(多态1)
 zr.zrpower.common.db.dbSet QueryTable(java.lang.String TableName)
          查询表
 boolean UpdateAll(zr.zrpower.common.db.dbRow[] dArr)
          更新多个数据行
 boolean UpdateAll(zr.zrpower.common.db.dbRow[] dArr, java.lang.String[] strBeforeSql, java.lang.String[] strAfterSql)
          更新混合型多种数据
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造函数详细信息

dbEngine

public dbEngine(java.lang.String dsJNID,
                boolean Convert)
引擎构造函数

参数:
dsJNID - String 要连接的数据源的JNID
Convert - boolean 是否转换汉字编码

示例:dbengine = new dbEngine("jdbc/zrpower",false);

方法详细信息

initialize

public boolean initialize()
初始化函数

返回:
boolean 初始化是否成功

示例:

dbengine = new dbEngine("jdbc/zrpower",false);
dbengine.initialize();

 


QuerySQL

public zr.zrpower.common.db.dbSet QuerySQL(java.lang.String strSQL,
                                          java.lang.String TableName)
执行查询(多态1)

参数:
strSQL - String 要执行SQL的语句
TableName - String 主表名
返回:
dbSet 数据集

示例:

String strSQL = "Select NAME from BPIP_USER";
dbSet dbset = dbengine.QuerySQL(strSQL,"BPIP_USER");
if (dbset != null) {
strResult = dbset.Row(0).Column("NAME").getString();
}

 


QuerySQL

public zr.zrpower.common.db.dbSet QuerySQL(java.lang.String strSQL)
执行查询(多态2)

参数:
strSQL - String 要执行SQL的语句
返回:
dbSet 数据集

示例:

String strSQL = "Select NAME from BPIP_USER";
dbSet dbset = dbengine.QuerySQL(strSQL);
if (dbset != null) {
strResult = dbset.Row(0).Column("NAME").getString();
}
 

 


QueryTable

public zr.zrpower.common.db.dbSet QueryTable(java.lang.String TableName)
查询表

参数:
TableName - String 表名
返回:
dbSet 数据集

 

示例:


dbSet dbset = dbengine.QueryTable("BPIP_USER");
if (dbset != null) {
strResult = dbset.Row(0).Column("NAME").getString();
}

 


QueryColumns

public zr.zrpower.common.db.dbSet QueryColumns(java.lang.String TableName,
                                              java.lang.String[] ColumnName)
数据库查询操作

参数:
TableName - String 要查询的表名
ColumnName - String[] 要查询的字段名称数组
返回:
dbSet 数据集

示例:

String[] value = {"NAME", "UNITID"};
dbSet dbset1 = dbengine.QueryColumns("BPIP_USER",value);

 

if (dbset != null) {
strResult = dbset.Row(0).Column("NAME").getString();
}

 


QueryCondition

public zr.zrpower.common.db.dbSet QueryCondition(java.lang.String TableName,
                                                java.lang.String[] ColumnName,
                                                java.lang.String Condition)
数据库查询操作

参数:
TableName - String 要查询的表名
ColumnName - String[] 要查询的字段名称数组
Condition - String 查询条件语句,不包含(WHERE)
返回:
dbSet 数据集

示例:

String[] value = {"NAME", "UNITID"};
dbSet dbset1 = dbengine.QueryCondition("BPIP_USER",value,"NAME='张三'");

 

if (dbset != null) {
strResult = dbset.Row(0).Column("NAME").getString();
}

 


ExecuteSQL

public boolean ExecuteSQL(java.lang.String SQL)
执行单SQL语句操作

参数:
SQL - String 要执行的SQL语句
返回:
boolean 执行是否成功

示例:

dbengine.ExecuteSQL("Delete from BPIP_USER");

 


ExecuteSQL

public boolean ExecuteSQL(java.lang.String SQL,java.lang.String[] value)
执行单SQL语句操作

参数:
SQL - String 要执行的SQL语句
value - SQL语句传递的参数值
 
 
返回:
boolean 执行是否成功

示例:

//单sql调用--------------------------
String SQL="Insert into oa_code_gs (CODE,NAME,SPELL,WBZT,USED,RQ) values (?,?,?,?,?,?)";
String[] value = {"03", "其它", "sp", "wb", "100","2011-10-20","11123"};//最后一个参数表示数据类型(1表示字符型,2表示数字型,3表示日期型),最后一个参数的每一位字符表示相应参数值的数据类型。
dbengine.ExecuteSQL(SQL,value);//插入记录
String SQL1="update oa_code_gs set NAME=?,SPELL=?,WBZT=?,USED=?,RQ=? where CODE=?";
String[] value1 = {"其它1", "SP1", "wb1", "200","2011-10-20", "03","111231"};
dbengine.ExecuteSQL(SQL1,value1);//更新记录
String SQL2="delete oa_code_gs where CODE=?";
String[] value2 = {"03","1"};
dbengine.ExecuteSQL(SQL2,value2);//删除记录

String SQL3="select * from oa_code_gs where CODE = ? and RQ>?";
String[] value3 = {"03","2011-10-20","13"};//最后一个参数表示数据类型(1表示字符型,2表示数字型,3表示日期型),最后一个参数的每一位字符表示相应参数值的数据类型。
dbSet testSet = dbengine.QuerySQL(SQL3,value3);//查询记录集

 


ExecuteSQLs

public boolean ExecuteSQLs(java.lang.String[] SQLs)
执行多SQL语句操作

参数:
SQLs - String[] 要执行的SQL语句数组
返回:
boolean 执行是否成功

示例:

String[] strSQLs = new String[2];
strSQL = "Delete From BPIP_ROLE_RERMISSISSON Where MENUNO='"+MenuID+"'";
strSQLs[0] =strSQL;
strSQL = "Delete From BPIP_MENU Where MENUNO='"+MenuID+"'";
strSQLs[1] =strSQL;
dbengine.ExecuteSQLs(strSQLs);

 


ExecuteSQLs

public boolean ExecuteSQLs(java.lang.String[] SQLs,java.lang.ArrayList value)
执行多SQL语句操作

参数:
SQLs - String[] 要执行的SQL语句数组
value - SQL语句传递的参数值
返回:
boolean 执行是否成功

示例:

//多sql调用-------------------------------------------
String[] sqls = {"insert into A_TBL(A_col,B_col)values(?,?)","update B_TBL set C_col=?,D_col=? where id=?"};
String[][] para1 = {"A_col_cnt","B_col_cnt","11"};//最后一个参数表示数据类型(1表示字符型,2表示数字型,3表示日期型),最后一个参数的每一位字符表示相应参数值的数据类型。
String[][] para2 = {"C_col_cnt","D_col_cnt","100101","111"};
ArrayList para = new ArrayList();
para.add(para1);
para.add(para2);
dbengine.ExecuteSQLs(sqls,para);//执行批量sql

 


ExecuteSQLs

public boolean ExecuteSQLs(java.lang.String SQLs,java.lang.String[][] value)
执行多SQL语句操作

参数:
SQLs - String[] 要执行的SQL语句数组
value - SQL语句传递的参数值
返回:
boolean 执行是否成功

示例:

//执行批量插入----
String insertsql = "insert into A_TBL(A_col,B_col)values(?,?)";
//二维数组的最后一组表示插入的数据类型(1表示字符型,2表示数字型,3表示日期型)
String[][] insertparas = {{"A_col_cnt1","B_col_cnt1"},{"A_col_cnt2","B_col_cnt2"},{"A_col_cnt3","B_col_cnt3"}{"1","1"}}
dbengine.ExecuteSQLs(insertsql,insertparas);

 


ExecuteInsert

public boolean ExecuteInsert(zr.zrpower.common.db.dbRow dbrow)
插入记录到数据库

参数:
dbrow - dbRow 数据行
返回:
boolean 插入是否成功

示例:

BPIP_FIELD FIELD = new BPIP_FIELD();
FIELD.setFIELDID("00000001");
FIELD.setTABLEID(TC.getTABLEID());
FIELD.setFIELDNAME("CODE");
FIELD.setFIELDTAG("1");
FIELD.setCHINESENAME("编号");
FIELD.setFIELDTYPE("1");
FIELD.setFIELDLENGTH(6);
FIELD.setISNULL("0");
dbengine.ExecuteInsert(FIELD.getData());

 


ExecuteEdit

public boolean ExecuteEdit(zr.zrpower.common.db.dbRow dbrow)
编辑记录保存到数据库
调用前提:必须设置主键和主键值

参数:
dbrow - dbRow 数据行
返回:
boolean 编辑是否成功

示例:

dbengine.ExecuteEdit(FIELD.getData());

 


ExecuteEdit

public boolean ExecuteEdit(zr.zrpower.common.db.dbRow dbrow,
                           java.lang.String Condition)
编辑记录保存到数据库

参数:
dbrow - dbRow 数据行
Condition - String 执行条件,也就是Where后面的部分,不要加Where这几个字
返回:
boolean 编辑是否成功

示例:

dbengine.ExecuteEdit(FIELD.getData(),"FIELDID='00000001'");


ExecuteDelete

public boolean ExecuteDelete(java.lang.String TableName,
                             java.lang.String Condition)
删除表中的记录

参数:
TableName - String 表名
Condition - String 条件,也就是Where后面的部分,不要加Where这几个字
返回:
boolean 执行是否成功

示例:

dbengine.ExecuteDelete("BPIP_FIELD","FIELDID='00000001'");

 


UpdateAll

public boolean UpdateAll(zr.zrpower.common.db.dbRow[] dArr,
                         java.lang.String[] strBeforeSql,
                         java.lang.String[] strAfterSql)
更新混合型多种数据

参数:
dArr - dbRow[] 要更新的dbRow数组
strBeforeSql - String[] 更新dbRow数组前要执行的SQL语句数组
strAfterSql - String[] 更新dbRow数组后要执行的SQL语句数组
返回:
boolean 更新是否成功

UpdateAll

public boolean UpdateAll(zr.zrpower.common.db.dbRow[] dArr)
更新多个数据行

参数:
dArr - dbRow[] 要更新的dbRow数组
返回:
boolean 更新是否成功