日期:2014-05-20  浏览次数:20649 次

问一个关于Vector的小问题
小弟是用ODBC连接的数据库..我想用Vector保存一个表里面的数据.加进去.
然后在另一个类里面new出来..在把所有的数据全部打出来..请问要怎么做啊?
import   java.sql.*;
import   java.util.*;

public   class   Vector1
{
public   void   lianjieDB()
{
try
{
Vector   ve=new   Vector();
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver ");
java.sql.Connection   con=java.sql.DriverManager.getConnection       ( "jdbc:odbc:Myodbc ", "Administartor ", "13407316491 ");
java.sql.Statement   str=con.createStatement();
java.sql.ResultSet   rs=str.executeQuery( "select   *   from   table1 ");
while(rs.next())
{
String   name=rs.getString(1);
String   address=rs.getString(2);
ve.add(name);
ve.add(address);
}
}
catch(Exception   d)
{
d.printStackTrace();
}
}
}

这样写对吗?   要在别的类里面把这个VE里面的内容打出来..要怎么做啊?请教请教

------解决方案--------------------
最好用ArrayList
不要试用Vector
Iterator it=Vector.iterator() ;
while(it.hashNext()){
System.out.println(it.next());
}

------解决方案--------------------

Vector() v = Vector();
while(rs.next())
{ Hashtable ht=new Hashtable();
ht.put( "name ",rs.getString(1)));
ht.put( "address ",rs.getString(2));
v.add(ht);;
}
这样写应该可以满足你的要求吧???


取:
Hashtable ht=null;
for(int i=0;i <v.size();i++){
ht=(Hashtable)v.get(i);
out.print( "one= "+t.get( "name "));
out.print( "two= "+t.get( "address "));
....
}

------解决方案--------------------
同意
用ArrayList比较方便,
一行数据封装到一个ArrayList中
然后再用一个ArrayList把上面的ArrayList封进去