主题:取数据库表字符串数据问题
Java新手求助。想从数据库的表中取出数据,显示在表格中,编译时抱错:
T_goods.java:63: 错误: 对于add(Vector<String>), 找不到合适的方法 summery.add(data);
方法 Vector.add(int,String)不适用 (实际参数列表和形式参数列表长度不同)
方法 Vector.add(String)不适用 (无法通过方法调用转换将实际参数Vector<String>转换为String)
注: T_goods.java使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
百度了一些方案,但是没能解决问题。求解答,谢谢。
代码如下:
//
import java.util.*;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
public class T_goods extends JFrame{
JPanel p_north=null, p_south=null;
JLabel l_txt;
JTextField sle_name;
JButton cb_find,cb_new,cb_edit,cb_del,cb_save;
JTable dw_grid=null;
Vector<String> hander=null;
Vector<String> summery=null;
JScrollPane sp_table=null;
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
public static void main(String[] args){
T_goods goods=new T_goods();
}
T_goods(){
//查询条件
l_txt=new JLabel("商品名称:");
sle_name=new JTextField(10);
cb_find=new JButton("查询");
p_north=new JPanel();
p_north.add(l_txt);
p_north.add(sle_name);
p_north.add(cb_find);
//
hander=new Vector();
hander.add("商品编号");
hander.add("商品名称");
hander.add("商品规格");
//表格数据
summery=new Vector<String>();
try{
//
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//
conn=DriverManager.getConnection("jdbc:odbc:posv1","sa","123456");
//
ps=conn.prepareStatement("select * from tp_goods_info");
rs=ps.executeQuery();
while(rs.next()){
//
Vector<String> data=new Vector<String>();
data.add(rs.getString("goods_no"));
data.add(rs.getString("goods_nm"));
data.add(rs.getString("goods_size"));
summery.add(data); //提示错误位置
}
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(conn!=null){
conn.close();
}
if(ps!=null){
ps.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
dw_grid=new JTable(hander,summery);
sp_table=new JScrollPane(dw_grid);
//功能按钮
cb_new=new JButton("新增");
cb_edit=new JButton("编辑");
cb_del=new JButton("删除");
cb_save=new JButton("保存");
p_south=new JPanel();
p_south.add(cb_new);
p_south.add(cb_edit);
p_south.add(cb_del);
p_south.add(cb_save);
//
this.add(p_north,BorderLayout.NORTH);
this.add(p_south,BorderLayout.SOUTH);
this.add(sp_table);
this.setIconImage(new ImageIcon("image/logo.png").getImage());
this.setTitle("JTable");
//
this.setSize(1024,768);
this.setLocation(280,50);
this.setResizable(false);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setVisible(true);
}
}