📄 dataaccess.java
字号:
String key = "";
String whe = "";
// 峏怴傪峴偆僨乕僞偺where暥傪嶌惉偟傑偡丅
if(htblwhe != null){
Enumeration enumwhe = htblwhe.keys();
while(enumwhe.hasMoreElements()){
key = enumwhe.nextElement().toString();
if (whe.equals("")) {
whe = whe + " WHERE " + key + " = '" + htblwhe.get(key).toString() + "'";
} else {
whe = whe + " AND " + key + " = '" + htblwhe.get(key).toString() + "'";
}
}
}
// 懠偺抂枛偱儘僢僋傪偟偰偄側偄偐偳偆偐傪妋偐傔傑偡丅
lock(con,tablename,whe);
String set = "";
int i = 0;
Enumeration enumup = htblup.keys();
while(enumup.hasMoreElements()){
key = enumup.nextElement().toString();
i++;
set = set + key + " = ?,"; // Set Field name
}
// 僴僢僔儏僥乕僽儖偵偼擖傟側偐偭偨僼傿乕儖僪偩偗偳丄Update偟偨偄崁栚偑偁傞応崌
if (otherset != null && !otherset.equals("") && !otherset.equals("NOMODIFY")) {
int isite = otherset.indexOf(";");
// ;偑懚嵼偟偨偲偒
if (isite >= 0) {
set = set + otherset.substring(0,isite) + ",";
otherset = otherset.substring(isite+1);
} else {
set = set + otherset + ",";
otherset = "";
}
}
// otherset偑null傑偨偼""偺帪丄廋惓僆儁儗乕僞丄廋惓擔晅傪峏怴
if (otherset == null || otherset.equals("") || !otherset.equals("NOMODIFY")) {
set = set +
"MOPECODE = '" + LOGINID + "'," + // 廋惓僆儁儗乕僞
"MDATE = SYSDATE " ; // 廋惓擔晅
} else {
set = set.substring(0,set.length()-1);
}
// 偙偺儊僜僢僪偱幚峴偡傞SQL暥
String sql = "UPDATE " + tablename + " SET " + set + whe;
pstmt = sqlSet(con,sql);
i = 0;
enumup = htblup.keys();
while(enumup.hasMoreElements()){
key = enumup.nextElement().toString();
i++;
pstmt.setObject(i,htblup.get(key)); // Set Field value
}
size = exeUpdate(pstmt);
return size;
} catch (OracleException orae) {
st = orae.getStatus();
throw new OracleException(st);
} catch (Exception e) {
throw new OriginalException(e);
} finally {
// Statemet偼丆昁偢close()偟傑偡丅
try {
if (pstmt != null) pstmt.close();
} catch (Exception ex) { }
}
}
/**
* 斈梡SELECT儊僜僢僪-儁乕僕儞僌懳墳(嵟戝専嶕悢丄庢摼儗僐乕僪斖埻)僘乕儉梡
* @param con DB僪儔僀僶偺URL側偳
* @param sql SQL暥
* @param table_name 専嶕僥乕僽儖柤
* @param selFields[] 庢摼崁栚柤
* @param pagemax 1儁乕僕曈傝偺嵟戝専嶕悢
* @param page 儁乕僕斣崋
* @return Object[][] 庢摼僨乕僞亄儁乕僕儞僌忣曬([嵟屻偺攝楍][0]:慜儁乕僕忣曬丒[嵟屻偺攝楍][1]:師儁乕僕忣曬)
*/
public Object[][] selectFieldPagesZoom(Connection con, String select, String from, String whe, String table_name,String[] selFields,int pagemax, int page ,String end_fg) {
PreparedStatement stmt = null;
ResultSet rs = null;
try {
int count = 0;
Object[][] objs = null;
// param check
int sellen = selFields.length;
if (page <= 0) {
throw new MissingFindException("");
}
int len = 0;
if(end_fg.equals("s")){
page = 1;
} else if(end_fg.equals("e")){
StringBuffer sql_count = new StringBuffer(" SELECT COUNT(*) ").append(from).append(whe);
stmt = sqlSet(con,sql_count.toString());
rs = exeQuery(stmt);
while (rs.next()) {
len = rs.getInt(1);
}
rs.close();
stmt.close();
if(len%pagemax != 0){
len = len - len%pagemax;
page = len/pagemax+1;
} else {
page = len/pagemax;
}
}
if (sellen != 0) {
StringBuffer sql = new StringBuffer(select).append(from).append(whe);
stmt = sqlSet(con,sql.toString());
rs = exeQuery(stmt);
Vector v = new Vector();
Object[] obj = null;
boolean flag = false;
while (rs.next()) {
if(flag == false && page > 1){
//億僀儞僞偺堏摦
for(int i = 1; i < pagemax*(page-1); i++){
rs.next();
}
flag = true;
continue;
}
if(count == pagemax){
count++;
break;
} else {
obj = new Object[sellen];
for (int i = 0; i < sellen; i++) {
obj[i] = rs.getObject(selFields[i])==null?"":rs.getObject(selFields[i]);// get fields value
}
// Entity僆僽僕僃僋僩偼丆偄偔偮SELECT偱偒偰偄傞偐
// 傢偐傜側偄偺偱丆偄偭偨傫 Vector 偵奿擺偟傑偡丅
v.addElement(obj);
count++;
}
}
// Vector 偐傜 Entity僆僽僕僃僋僩偺攝楍傊堏偟懼偊傑偡丅
if(sellen < 3){
sellen = 3;
}
obj = new Object[sellen];
// 師暸偑懚嵼偡傞偐敾抐
if (count > pagemax) { // 師暸偑懚嵼
objs = new Object[count][sellen];
obj[0] = (Object)cf.intToStr(page - 1);
obj[1] = (Object)cf.intToStr(page + 1);
} else { // 師暸偑懚嵼偟側偄
objs = new Object[count+1][sellen];
obj[0] = (Object)cf.intToStr(page - 1);
obj[1] = (Object)"0";
}
v.addElement(obj);
objs = (Object[][])v.toArray(objs);
} else {
objs = new Object[0][0];
}
return objs;
} catch (MissingFindException misse) {
st = misse.getStatus();
misse.printStackTrace();
throw new MissingFindException(st.usermsg);
} catch (OracleException orae) {
orae.printStackTrace();
st = orae.getStatus();
throw new OracleException(st);
} catch (SQLException sqle) {
sqle.printStackTrace();
throw new OracleException(sqle);
} catch (Exception e) {
e.printStackTrace();
throw new OriginalException(e);
} finally {
try {
if(rs!=null) rs.close();
if(stmt != null ) stmt.close();
} catch (Exception ex) { }
}
}
/**
* 斈梡SELECT儊僜僢僪-僼僅乕儅僢僩曄姺丄儁乕僕儞僌懳墳(嵟戝専嶕悢丄庢摼儗僐乕僪斖埻)
* @param con DB僪儔僀僶偺URL側偳
* @param sql SQL暥
* @param table_name 専嶕僥乕僽儖柤
* @param selFields[] 庢摼崁栚柤
* @param pagemax 1儁乕僕曈傝偺嵟戝専嶕悢
* @param page 儁乕僕斣崋
* @return Object[][] 庢摼僨乕僞亄儁乕僕儞僌忣曬([嵟屻偺攝楍][0]:慜儁乕僕忣曬丒[嵟屻偺攝楍][1]:師儁乕僕忣曬)
*/
public Object[][] selectFieldPages(Connection con, String sql, String table_name,String[] selFields,int pagemax, int page) {
PreparedStatement stmt = null;
ResultSet rs = null;
try {
int count = 0;
Object[][] objs = null;
// param check
int sellen = selFields.length;
if (sellen != 0) {
stmt = sqlSet(con,sql);
rs = exeQuery(stmt);
Vector v = new Vector();
Object[] obj = null;
boolean flag = false;
while (rs.next()) {
if(flag == false && page > 1){
//億僀儞僞偺堏摦
for(int i = 1; i < pagemax*(page-1); i++){
rs.next();
}
flag = true;
continue;
}
if(count == pagemax){
break;
} else {
obj = new Object[sellen];
for (int i = 0; i < sellen; i++) {
obj[i] = rs.getObject(selFields[i])==null?"":rs.getObject(selFields[i]); // get fields value
}
// Entity僆僽僕僃僋僩偼丆偄偔偮SELECT偱偒偰偄傞偐
// 傢偐傜側偄偺偱丆偄偭偨傫 Vector 偵奿擺偟傑偡丅
v.addElement(obj);
count++;
}
}
// Vector 偐傜 Entity僆僽僕僃僋僩偺攝楍傊堏偟懼偊傑偡丅
if(sellen < 3){
sellen = 3;
}
objs = new Object[count][sellen];
objs = (Object[][])v.toArray(objs);
} else {
objs = new Object[0][0];
}
return objs;
} catch (MissingFindException misse) {
st = misse.getStatus();
misse.printStackTrace();
throw new MissingFindException(st.usermsg);
} catch (OracleException orae) {
orae.printStackTrace();
st = orae.getStatus();
throw new OracleException(st);
} catch (SQLException sqle) {
sqle.printStackTrace();
throw new OracleException(sqle);
} catch (Exception e) {
e.printStackTrace();
throw new OriginalException(e);
} finally {
try {
if(rs!=null) rs.close();
if(stmt != null ) stmt.close();
} catch (Exception ex) { }
}
}
/**
* 斈梡SELECT儊僜僢僪-僼僅乕儅僢僩曄姺丄儁乕僕儞僌懳墳(嵟戝専嶕悢丄庢摼儗僐乕僪斖埻)
* @param con DB僪儔僀僶偺URL側偳
* @param sql SQL暥
* @param table_name 専嶕僥乕僽儖柤
* @param selFields[] 庢摼崁栚柤
* @param pagemax 1儁乕僕曈傝偺嵟戝専嶕悢
* @param page 儁乕僕斣崋
* @return Object[][] 庢摼僨乕僞亄儁乕僕儞僌忣曬([嵟屻偺攝楍][0]:慜儁乕僕忣曬丒[嵟屻偺攝楍][1]:師儁乕僕忣曬)
*/
public Object[][] selectFieldPages(Connection con, String sql, String table_name,int sellen,int pagemax, int page) {
PreparedStatement stmt = null;
ResultSet rs = null;
try {
int count = 0;
// param check
if (sellen == 0) {
throw new SQLException();
}
stmt = sqlSet(con,sql);
rs = exeQuery(stmt);
Vector v = new Vector();
Object[] obj = null;
boolean flag = false;
while (rs.next()) {
if(flag == false && page > 1){
//億僀儞僞偺堏摦
for(int i = 1; i < pagemax*(page-1); i++){
rs.next();
}
flag = true;
continue;
}
if(count == pagemax){
break;
} else {
obj = new Object[sellen];
for (int i = 0; i < sellen; i++) {
obj[i] = rs.getObject(i+1)==null?"":rs.getObject(i+1); // get fields value
}
// Entity僆僽僕僃僋僩偼丆偄偔偮SELECT偱偒偰偄傞偐
// 傢偐傜側偄偺偱丆偄偭偨傫 Vector 偵奿擺偟傑偡丅
v.addElement(obj);
count++;
}
}
// Vector 偐傜 Entity僆僽僕僃僋僩偺攝楍傊堏偟懼偊傑偡丅
if(sellen < 3){
sellen = 3;
}
Object[][] objs = null;
objs = new Object[count][sellen];
objs = (Object[][])v.toArray(objs);
return objs;
} catch (MissingFindException misse) {
st = misse.getStatus();
misse.printStackTrace();
throw new MissingFindException(st.usermsg);
} catch (OracleException orae) {
orae.printStackTrace();
st = orae.getStatus();
throw new OracleException(st);
} catch (SQLException sqle) {
sqle.printStackTrace();
throw new OracleException(sqle);
} catch (Exception e) {
e.printStackTrace();
throw new OriginalException(e);
} finally {
try {
if(rs!=null) rs.close();
if(stmt != null ) stmt.close();
} catch (Exception ex) { }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -