import java.util.Vector;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class VectorTest {
public VectorTest() {
}
String a;
String b;
public String toString(){
return a+" "+b;
}
public static void main(String[] args) {
Vector test=new Vector();
VectorTest vectortest = new VectorTest();
vectortest.a="a";
vectortest.b="b";
test.add(vectortest);
vectortest.a="b";
vectortest.b="a";
test.add(vectortest);
System.out.println(test);
}
}
这样的输出结果总是 后一个的【b a,b a】前面的总 是被覆盖 为什么啊,如果我要把前面的和后面的都输出要怎么做呢?就像【a b,b a】
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class VectorTest {
public VectorTest() {
}
String a;
String b;
public String toString(){
return a+" "+b;
}
public static void main(String[] args) {
Vector test=new Vector();
VectorTest vectortest = new VectorTest();
vectortest.a="a";
vectortest.b="b";
test.add(vectortest);
vectortest.a="b";
vectortest.b="a";
test.add(vectortest);
System.out.println(test);
}
}
这样的输出结果总是 后一个的【b a,b a】前面的总 是被覆盖 为什么啊,如果我要把前面的和后面的都输出要怎么做呢?就像【a b,b a】
你new两个vectortest就可以了
package com.db;import java.sql.*;
import java.util.Vector;/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class DatebaseTest {
public DatebaseTest() {
} String name;
String sex;
String age; public Connection getConnection() {
Connection con = null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:db");
} catch (Exception ex) {
ex.printStackTrace();
}
return con;
} public Vector dateQuery(String sql) {
Vector v = new Vector();
ResultSet rs = null;
DatebaseTest a = new DatebaseTest();
DatebaseTest b = new DatebaseTest();
try {
Connection con = this.getConnection();
Statement st = con.createStatement();
rs = st.executeQuery(sql);
int count = 0;
while (rs.next()) {
count++;
if (count == 1) {
a.name = rs.getString(1);
a.sex = rs.getString(2);
a.age = rs.getString(3);
v.add(a);
} else if (count == 2) {
b.name = rs.getString(1);
b.sex = rs.getString(2);
b.age = rs.getString(3);
v.add(b); } } rs.close();
st.close();
con.close();
} catch (Exception ex) {
ex.printStackTrace();
} return v;
} public String toString() {
return "\n姓名:" + name + " " + "性别:" + sex + " " + "年龄:" + age + "\n"; } public static void main(String[] args) {
DatebaseTest db = new DatebaseTest();
System.out.println(db.dateQuery("select * from Student")); }
}
这样做 就只能取一个值出来,要怎么做才好呢?
Vector v = new Vector();
ResultSet rs = null;
DatebaseTest a = new DatebaseTest();
DatebaseTest b = new DatebaseTest();
try {
Connection con = this.getConnection();
Statement st = con.createStatement();
rs = st.executeQuery(sql);
int count = 0;
while (rs.next()) {
count++;
if (count == 1) {
a.name = rs.getString(1);
a.sex = rs.getString(2);
a.age = rs.getString(3);
v.add(a);
} else if (count == 2) {
b.name = rs.getString(1);
b.sex = rs.getString(2);
b.age = rs.getString(3);
v.add(b); } } rs.close();
st.close();
con.close();
} catch (Exception ex) {
ex.printStackTrace();
} return v;
}
放到另外一个位置new
public Vector dateQuery(String sql) {
// Vector v = new Vector();
ResultSet rs = null;
DatebaseTest a = new DatebaseTest();
DatebaseTest b = new DatebaseTest();
try {
Connection con = this.getConnection();
Statement st = con.createStatement();
rs = st.executeQuery(sql);
int count = 0;
while (rs.next()) {
Vector v = new Vector();
count++;
if (count == 1) {
a.name = rs.getString(1);
a.sex = rs.getString(2);
a.age = rs.getString(3);
v.add(a);
} else if (count == 2) {
b.name = rs.getString(1);
b.sex = rs.getString(2);
b.age = rs.getString(3);
v.add(b); } } rs.close();
st.close();
con.close();
} catch (Exception ex) {
ex.printStackTrace();
} return v;
}
结贴给分吧,谢谢
public Vector dateQuery(String sql) {
Vector v = new Vector();
ResultSet rs = null;
DatebaseTest a = new DatebaseTest();
DatebaseTest b = new DatebaseTest();
try {
Connection con = this.getConnection();
Statement st = con.createStatement();
rs = st.executeQuery(sql);
int count = 0;
while (rs.next()) {
count++;
if (count == 1) {
a.name = rs.getString(1);
a.sex = rs.getString(2);
a.age = rs.getString(3);
v.add(a);
} else if (count == 2) {
b.name = rs.getString(1);
b.sex = rs.getString(2);
b.age = rs.getString(3);
v.add(b); } } rs.close();
st.close();
con.close();
} catch (Exception ex) {
ex.printStackTrace();
} return v;
}
放到另外一个位置new
public Vector dateQuery(String sql) {
Vector v = null;
ResultSet rs = null;
DatebaseTest a = new DatebaseTest();
DatebaseTest b = new DatebaseTest();
try {
Connection con = this.getConnection();
Statement st = con.createStatement();
rs = st.executeQuery(sql);
int count = 0;
while (rs.next()) {
v = new Vector();
count++;
if (count == 1) {
a.name = rs.getString(1);
a.sex = rs.getString(2);
a.age = rs.getString(3);
v.add(a);
} else if (count == 2) {
b.name = rs.getString(1);
b.sex = rs.getString(2);
b.age = rs.getString(3);
v.add(b); } } rs.close();
st.close();
con.close();
} catch (Exception ex) {
ex.printStackTrace();
} return v;
}
这样输出的结果 还是只有1个。
public Vector dateQuery(String sql) {
Vector v = new Vector;
ResultSet rs = null;
DatebaseTest a = new DatebaseTest();
DatebaseTest b = new DatebaseTest();
try {
Connection con = this.getConnection();
Statement st = con.createStatement();
rs = st.executeQuery(sql);
int count = 0;
while (rs.next()) { count++;
if (count == 1) {
a.name = rs.getString(1);
a.sex = rs.getString(2);
a.age = rs.getString(3);
v.add(a);
} else if (count == 2) {
b.name = rs.getString(1);
b.sex = rs.getString(2);
b.age = rs.getString(3);
v.add(b); } } rs.close();
st.close();
con.close();
} catch (Exception ex) {
ex.printStackTrace();
} return v;
}
Vector v = new Vector;
ResultSet rs = null;
DatebaseTest a = new DatebaseTest();
DatebaseTest b = new DatebaseTest();
try {
Connection con = this.getConnection();
Statement st = con.createStatement();
rs = st.executeQuery(sql);
int count = 0;
while (rs.next()) {
DatebaseTest a = new DatebaseTest();//在这里New,每循环一次就创建一个对像
DatebaseTest b = new DatebaseTest();//在这里New,每循环一次就创建一个对像
count++;//干什么用的????一三五,二四六?有什么意义吗?
if (count == 1) {
a.name = rs.getString(1);
a.sex = rs.getString(2);
a.age = rs.getString(3);
v.add(a);
} else if (count == 2) {
b.name = rs.getString(1);
b.sex = rs.getString(2);
b.age = rs.getString(3);
v.add(b); } } rs.close();
st.close();
con.close();
} catch (Exception ex) {
ex.printStackTrace();
} return v;
}
DatebaseTest a = new DatebaseTest();//在这里New,每循环一次就创建一个对像
DatebaseTest b = new DatebaseTest();//在这里New,每循环一次就创建一个对像
count++;//干什么用的????一三五,二四六?有什么意义吗?
if (count == 1) {
a.name = rs.getString(1);
a.sex = rs.getString(2);
a.age = rs.getString(3);
v.add(a);
} else if (count == 2) {
b.name = rs.getString(1);
b.sex = rs.getString(2);
b.age = rs.getString(3);
v.add(b); } }与下面这样有区别吗??while (rs.next()) {
DatebaseTest a = new DatebaseTest();//在这里New,每循环一次就创建一个对像
a.name = rs.getString(1);
a.sex = rs.getString(2);
a.age = rs.getString(3);
v.add(a);
}
有什么区别????都只数据库里的每一条刻录的集合