出现java.lang.String cannot be cast to java.util.Vector错误。。。求解决~~~

chessloveyou 2011-05-25 07:19:55



import java.awt.*;
import java.sql.*;
import java.util.*;

import javax.swing.*;
import javax.swing.table.*;

public class Gradation extends JFrame{ // 创建类
static Connection con; // 声明Connection对象
static Statement sql; // 声明Statement对象
static ResultSet res; // 声明ResultSet对象


public Connection getConnection() { // 连接数据库方法

try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(
"jdbc:odbc:csgl","","");
} catch (Exception e) {
e.printStackTrace();
}
return con; // 返回Connection对象
}

public static void main(String[] args) { // 主方法
JFrame jf=new JFrame();
jf.setTitle("接收数据");
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Vector<String> columnNameV= new Vector<String>();
//添加列名
columnNameV.add("UserID");
columnNameV.add("姓名");
columnNameV.add("性别");

Vector<String> tableValueV = new Vector<String>();


Gradation c = new Gradation(); // 创建本类对象
con = c.getConnection(); // 与数据库建立连接
try {
sql = con.createStatement(); // 实例化Statement对象
// 执行SQL语句,返回结果集
res = sql.executeQuery("select * from userInfo");
while (res.next()) { // 如果当前语句不是最后一条则进入循环
String id = res.getString("userID"); // 获取列名是"id"的字段值
// 获取列名是"name"的字段值
String name = res.getString("name");
// 获取列名是"sex"的字段值
String sex = res.getString("sex");
tableValueV.add(id);
tableValueV.add(name);
tableValueV.add(sex);
}
} catch (Exception e) {
e.printStackTrace();
}
JTable table = new JTable(tableValueV,columnNameV);
jf.getContentPane().add(table,BorderLayout.CENTER);
JTableHeader tableHeader = table.getTableHeader();
jf.getContentPane().add(tableHeader,BorderLayout.NORTH);
}
}
...全文
566 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
awusoft 2011-05-25
  • 打赏
  • 举报
回复

JTable table = new JTable(tableValueV,columnNameV);

tableValueV里边的元素需要是Vector

while (res.next()) { // 如果当前语句不是最后一条则进入循环
String id = res.getString("userID"); // 获取列名是"id"的字段值
// 获取列名是"name"的字段值
String name = res.getString("name");
// 获取列名是"sex"的字段值
String sex = res.getString("sex");
Vector v = new Vector();
v.add(id);
v.add(name);
v.add(sex);
tableValueV.add(v);
}
chessloveyou 2011-05-25
  • 打赏
  • 举报
回复
原来如此,我已经知道了。。。。
谢谢再来看帖的人哈~~~
类型不匹配的问题....

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧