⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dyquery.java

📁 java 数据库连接通用源码 java 数据库连接通用源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
   	*	取出特定行的数据
   	*    @param    iRows      <p>num of row, int type
   	*    @return   String[]   <p> value of the exact  column , stringArrary type 
   	*    @author   zhanghan
   	*    @date     2001/4/10
   	*/
public String[] getValues(int iRows){
	
		if(iRows<iRow)return (String[])vRes.elementAt(iRows);
		else{ String [] strtemp = {"-1-1-1"," RowNum beyond the max Row of the resultset!"};return strtemp;}
	}
/**
*取得所有行的所有信息
*@return String[][]  str[row][column] 所有行的 所有列的信息
*@author zhanghan
*@date 2001/7/25
*/
public String[][] getAllValues(){
	String[][] strValues ;
	if(iRow<1){
		strValues = new String[1][2];
		strValues[0][0] = "-1-1-1";
		strValues[0][1] = " no resultset in this query!"; 
	}
	else {
		strValues = new String[iRow][];
		for(int i=0;i<iRow;i++)strValues[i] = getValues(i);
	}
	return strValues;
	}
/**   get Column Name from vRes
	*     @return string[]	<p>string arrary of the column name
	*    @author   zhanghan
   	*    @date     2001/4/10
	*/
public String[] getColumns(){
	
		return (String[])vRes.elementAt(0);
	}
/**   get Column Num from vRes
	*     @return int  value of the account columns
	*    @author   zhanghan
   	*    @date     2001/4/10
	*/
public int getColumnNum(){
	
		return iColumn;
	}
/**   get Row Num from vRes
	*     @return int  value of the account Rows ,RowNum = Rows+ 1(columns occupy the 0th)
	*	<p>for example:<p> a set has Rows =19(resultset 0-18) then RowNum=20(0:column,1-19: values) 
	*    @author   zhanghan
   	*    @date     2001/4/10
	*/
public int getRowNum(){
	
		return iRow;
	}
protected int columnNameToNum(String columnName){
	int iColumns = -1;
   	String[] strColumns= getColumns();
   	for(int i=0;i<iColumn;i++)if(columnName.equalsIgnoreCase(strColumns[i].trim())){iColumns = i; break;}
	return iColumns;
	}

private String convertData(ResultSet rs, int dataType, int  col)
	throws SQLException 
	{
   /**   convert all kinds of data type in ResultSet to string
   *	转换数据类型
   *    @param    rs         result set to convert,ResultSet type
   *    @param    dataType   type of data,int type
   *    @param    col        column number,int type
   *    @return   String  
   *    @author   zhanghan
   *    @date     2001/4/3
   */
     String retVal = null;
     Integer intObj;
		/*ARRAY :2003 
		BIGINT  :-5
		BINARY   :-2
		BIT   :-7
		BLOB  :2004
		CHAR   :1
		CLOB   :2005
		DATE  :91
		DECIMAL  :3
		DISTINCT  :2001
		DOUBLE   :8
		FLOAT   :6
		INTEGER   :4
		JAVA_OBJECT   :2000
		LONGVARBINARY   :-4
		LONGVARCHAR   :-1
		NULL   :0
		NUMERIC  :2
		OTHER  :1111
		REAL   :7
		REF  :2006
		SMALLINT   :5
		STRUCT   :2002
		TIME  :92
		TIMESTAMP   :93
		TINYINT   :-6
		VARBINARY   :-3
		VARCHAR    :12
		   */
     switch(dataType) {
	     case Types.DATE:
	       java.sql.Date date = rs.getDate(col);
	       if(date==null) {retVal=null;break;}
	       retVal = date.toString();
	       retVal = retVal.substring(0,retVal.lastIndexOf("."));
	       break;
	     case Types.TIME:
	       java.sql.Time time = rs.getTime(col);
	       if(time==null) {retVal=null;break;}
	       retVal = time.toString();
	       break;
	     case Types.TIMESTAMP:
	       java.sql.Timestamp timestamp = rs.getTimestamp(col);
	       if(timestamp==null) {retVal=null;break;}
	       retVal = timestamp.toString();
	       break;
	     case Types.CHAR:
	     case Types.VARCHAR:
	     case Types.LONGVARCHAR:
	       retVal = rs.getString(col);
	       if(retVal!=null){
	         retVal=retVal.trim(); 
	       }
	       break;
	     case Types.NUMERIC:
	     case Types.DECIMAL:
	         java.math.BigDecimal numeric = rs.getBigDecimal(col);
	         if(numeric==null) {retVal=null;break;}
	           retVal = numeric.toString();
	         break;
	     case Types.BIT:
	         boolean bit = rs.getBoolean(col);
	         Boolean boolObj = new Boolean(bit);
	         retVal = boolObj.toString();
	         break;
	     case Types.TINYINT:
	         byte tinyint = rs.getByte(col);
	         intObj = new Integer(tinyint);
	         retVal = intObj.toString();
	         break;
	     case Types.SMALLINT:
	         short smallint = rs.getShort(col);
	         intObj = new Integer(smallint);
	          if(intObj==null){retVal=null;break;}
	         retVal = intObj.toString();
	         break;
	     case Types.INTEGER:
	         int integer = rs.getInt(col);
	         intObj = new Integer(integer);
	          if(intObj==null){retVal=null;break;}
	         retVal = intObj.toString();
	         break;
	     case Types.BIGINT:
	         long bigint = rs.getLong(col);
	         Long longObj = new Long(bigint);
	          if(longObj==null){retVal=null;break;}
	         retVal = longObj.toString();
	         break;
	     case Types.REAL:
	         float real = rs.getFloat(col);
	         Float floatObj = new Float(real);
	           if(floatObj==null){retVal=null;break;}
	         retVal = floatObj.toString();
	         break;
	     case Types.FLOAT:
	     case Types.DOUBLE:
	         double longreal = rs.getDouble(col);
	         Double doubleObj = new Double(longreal);
	          if(doubleObj==null){retVal=null;break;}
	         retVal = doubleObj.toString();
	         break;
	     case Types.BINARY:
	     case Types.VARBINARY:
	     case Types.LONGVARBINARY:
	       byte[] binary = rs.getBytes(col);
	       retVal = new String(binary);
	       break;
	     case oracle.jdbc.driver.OracleTypes.ROWID  :
	     	retVal = changeASII(((oracle.sql.ROWID)rs.getObject(col)).stringValue());
	     break;
	       default: retVal = rs.getObject(col).toString();
	       if(retVal!=null){
	         retVal=retVal.trim(); 
	       }
     }
     if(retVal==null)
     {
      retVal="";
     }
       return retVal;
   
}
/**专门为了rowid转换的方法
*@param String AsII 值的字符串连接
*@return String 转换后的
*/
private String changeASII(String str){
	String stemp=null;
	char[] c= new char[str.length()/2];
	int i=0;
	while(str.length()>=2){
		//转成16进制的char
		c[i] =(char)Integer.parseInt(str.substring(0,2),16);
		i++; 
		str = str.substring(2);
	}
	stemp=new String(c);
	return stemp;
	}
/*public static void main(String[] args ){
	DYDataSource ds = new DYDataSource();
	DYquery dq = new DYquery();
	String [] strColumns = new String[5];//列名
	strColumns[0] = "C_DABH";//驾驶证档案编码(驾驶证号)
	strColumns[1] = "C_XM";//驾驶员姓名
	strColumns[2] = "C_SFZJZL_DM";//身份证种类
	strColumns[3] = "C_SFZJBH";//身份证号
	strColumns[4] = "C_DWZZ";//单位或住址
	String tableName = "JSZJBXX";//驾驶员表
	
	int ires = dq.querySql(ds,tableName,strColumns[0],"2101105262",strColumns);
	
	if(ires!=0)System.out.println(dq.getErrString());
	else {String [][] s = dq.getAllValues();
		for(int i=0;i<dq.getColumnNum();i++)
			for(int j=0;j<dq.getRowNum();j++)System.out.println(s[j][i]);}
	}*/
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -