📄 miscdb.java
字号:
package MyNa.utils;
import java.sql.*;
import java.util.Hashtable;
import java.util.Vector;
import java.io.*;
public class MiscDB {
public static Hashtable resultSetAsHashTable(ResultSet R)
throws SQLException {
Hashtable H=new Hashtable();
if(R==null)return H;
String[] fieldNames=resultSetLabels(R);
return resultSetAsHashTable(fieldNames,R,H);
}
public static Hashtable resultSetAsHashTable(String [] cols,ResultSet R,
Hashtable H)
throws SQLException {
if(R==null)return H;
for (int i=1; i<=cols.length;i++)
H.put(cols[i-1],R.getString(i));
return H;
}
public static String [] resultSetLabels(ResultSet R)
throws SQLException{
ResultSetMetaData rsmd = R.getMetaData();
String S []=new String[rsmd.getColumnCount()];
for(int i=0;i<S.length;i++)S[i]=rsmd.getColumnLabel(i+1);
return S;
}
public static int resultSetColumnCount(ResultSet R)
throws SQLException{
ResultSetMetaData rsmd = R.getMetaData();
return rsmd.getColumnCount();
}
public static String [] resultSetTypes(ResultSet R)
throws SQLException{
ResultSetMetaData rsmd = R.getMetaData();
String S []=new String[rsmd.getColumnCount()];
for(int i=0;i<S.length;i++)S[i]=rsmd.getColumnTypeName(i+1);
return S;
}
public static String [] resultRowValues(ResultSet R)
throws SQLException{
String S[]=new String[resultSetColumnCount(R)];
for(int i=0;i<S.length;i++)S[i]=R.getString(i+1);
return S;
}
public static String[][] vectorToStringMatrix(Vector V){
// V is actually a vector of string-arrays.
if(V==null || V.size()==0)return null;
String [][]R=new String[V.size()][];
for(int i=0;i<R.length;i++)R[i]=(String[])(V.elementAt(i));
return R;
}
public static String[][] resultRowsToStringMatrix(ResultSet R){
try{
Vector V=new Vector(); // result
V.addElement(resultSetLabels(R)); // table header line
while(R.next())V.addElement(resultRowValues(R));
R.close();
return vectorToStringMatrix(V);
}catch(SQLException E){E.printStackTrace();return null;}
}
public static String createTable(Statement stmnt, String name,
String[]fldnames,String[]fldtypes,boolean doReset){
//String createQ="CREATE TABLE COURSEBOOKS (SectionID TEXT, ItemCode TEXT);
String result="";
try{
int N=fldnames.length;
String createStr="CREATE TABLE "+name+" (";
if(N>0)createStr+=fldnames[0]+" "+fldtypes[0];
for(int i=1;i<N;i++)createStr+=", "+fldnames[i]+" "+fldtypes[i];
createStr+=")";
result+="createStr="+createStr+"\n";
try{stmnt.execute(createStr);
}catch(SQLException e){
StringWriter sw=new StringWriter();
e.printStackTrace(new PrintWriter(sw));
result+=sw.toString();
}
// this table may well already exist;
if(doReset){
String delStr="DELETE * FROM "+name;
stmnt.execute(delStr);
}
}catch(SQLException e){
StringWriter sw=new StringWriter();
e.printStackTrace(new PrintWriter(sw));
result+=sw.toString();
}
return result;
}
public static PreparedStatement
createInserter(String name,String[]fldnames,Connection conn)
throws SQLException {
//String insertQ="INSERT INTO COURSEBOOKS VALUES (?,?)"
int N=fldnames.length;
String insertStr="INSERT INTO "+name+" VALUES (";
if(N>0)insertStr+="?";
for(int i=1;i<N;i++)insertStr+=", ?";
insertStr+=")";
PreparedStatement pStmnt=conn.prepareStatement(insertStr);
return pStmnt;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -