站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题Array向Vector赋值问题,谢谢!

Array向Vector赋值问题,谢谢!

摘要: Array向Vector赋值问题,谢谢!


怎样实现一个Array向Vector赋值?
谢谢!


其实是ResultSet向Vector赋值

哪位能帮帮我啊!
小弟十分感谢!


那要看你的Array中的元素是什么类型!
1.如果是Object,那就用Vector中的add(Object o),add(int index,Object o),
add(Collection c),add(int index,Collection c)等方法在循环中逐一添加.
2.如果是基本数据类型,那就必须强制转化为Object类型,然后在按照同上方法逐一添加.
3.以上意见仅供参考,请楼主相信JVM并且阅读以下APT中的Vector的用法.
4.OVER.


Vector vec = new Vector();
int i = 0;
Statement stmt = dbConn.createStatement();
if(debug) System.out.println(sqltxt);
rs = stmt.executeQuery(sqltxt);
while(rs.next())
{
i++;
vec.addElement(rs.getObject(i));
}
return vec;

上面是我看着API自己写的,不知道对不对?
请指点,谢谢!


一塌糊涂


to kevinliuu(@。@)
请指点,谢谢!


Statement stmt = dbConn.createStatement();
rs = stmt.executeQuery("sqltxt");
int colCount = rs.getMetaData().getColumnCount(); //结果集的列数
String[] tempStr ;

while (rs.next())
{
tempStr = new String[colCount] ;
for(int j=0; j {
tempStr[i] = rs.getString(j+1) ;//注意取列从1开始
}
vec.addElement(tempStr);
}

return vec;


////////////////////////


tempStr[j] = rs.getString(j+1) ;//注意取列从1开始


学习


也可以使用Hashtable,因为ResultSet中会有好多列
public Vector ExcuteResultSet(String sql){
Connection conn = null;
Statement stmt = null; // Or PreparedStatement if needed
ResultSet rs = null;
Vector v=new Vector();
try {
conn = GetConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
ResultSetMetaData rsm = rs.getMetaData();
while(rs.next()){
Hashtable ht=putIntoHash(rsm,rs);
v.add(ht);
}
rs.close();
rs = null;
stmt.close();
stmt = null;
conn.close(); // Return to connection pool
conn = null; // Make sure we don't close it twice
// MyLog.loggerTech.info(sql);
} catch (SQLException e) {
e.printStackTrace();
MyLog.loggerTech.error(e.getMessage()+" sql="+sql);
} catch(Exception ex){
ex.printStackTrace();
MyLog.loggerTech.error(ex.getMessage());
}
finally {
if (rs != null) {
try { rs.close(); } catch (SQLException e) { ; }
rs = null;
}
if (stmt != null) {
try { stmt.close(); } catch (SQLException e) { ; }
stmt = null;
}
if (conn != null) {
try { conn.close(); } catch (SQLException e) { ; }
conn = null;
}
}
return v;
}

这其中的GetConnection()是需要自己写的,作用是得到连接到数据库,函数最后的返回结果就是一个Vector,使用这个Vector的方法如下

for(int i=0;i Hashtable ht=(Hashtable)v.get(i);//取出一条记录
Enumeration keys=ht.keys();
while(keys.hasElement()){
String value = ht.get(keys.nextElement()).toString();//每条记录中的每个column的值
System.out.println(value);
}
}


↑返回目录
前一篇: 请教个问题!
后一篇: super的用法