123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- package C;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.Vector;
- import javax.swing.table.*;
-
- public class StuModel extends AbstractTableModel{
-
- //rowData存放行数据,columnNames存放列名
- Vector rowData,columnNames;
-
- //定义连接数据库的变量
- Statement stat = null;
- Connection ct = null;
- ResultSet rs = null;
-
- //初始化
- public void init(String sql){
- if(sql.equals("")){
- sql = "select * from stu";
- }
- //中间
- //设置列名
- columnNames = new Vector();
- columnNames.add("设备ID");
- columnNames.add("设备名称");
- columnNames.add("大小");
- columnNames.add("重量");
- columnNames.add("供应商");
- columnNames.add("价格");
-
- //rowData存放多行
- rowData = new Vector();
-
- try{
- //1.加载驱动
- Class.forName("com.mysql.jdbc.Driver");
- System.out.println("加载成功");
- //2.连接数据库
- //定义几个常量
- String url = "jdbc:mysql://localhost:3306/spdb1";
- String user = "root";
- String passwd = "qsefthuko";
-
- ct = DriverManager.getConnection(url,user,passwd);
- stat = ct.createStatement();//创建stat对象
- rs = stat.executeQuery(sql);//查询结果
-
- while(rs.next()){
- Vector hang = new Vector();
- hang.add(rs.getString(1));
- hang.add(rs.getString(2));
- hang.add(rs.getString(3));
- hang.add(rs.getInt(4));
- hang.add(rs.getString(5));
- hang.add(rs.getString(6));
- //加入到rowData中
- rowData.add(hang);
-
- }
-
- }catch(Exception e){
- e.printStackTrace();
- }finally{
- try{
- if(rs!=null){
- rs.close();
- rs = null;
- }
- if(stat != null){
- stat.close();
- stat = null;
- }
- if(ct != null){
- ct.close();
- ct = null;
- }
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
-
- //增加函数
- public void addStu(String sql){
- //根据用户输入的sql语句,完成添加任务
-
-
-
- }
-
- //第二个构造函数,通过传递的sql语句来获得数据模型
- public StuModel(String sql){
- this.init(sql);
- }
-
- //构造函数,用于初始化我的数据模型(表)
- public StuModel(){
- this.init("");
- }
-
- //得到共有多少行
- public int getRowCount() {
- // TODO Auto-generated method stub
- return this.rowData.size();
- }
-
- //得到共有多少列
- public int getColumnCount() {
- // TODO Auto-generated method stub
- return this.columnNames.size();
- }
-
- //得到某行某列的数据
- public Object getValueAt(int row, int column) {
- // TODO Auto-generated method stub
- return ((Vector)(this.rowData.get(row))).get(column);
- }
-
- //得到属性名字
- public String getColumnName(int column) {
- // TODO Auto-generated method stub
- return (String)this.columnNames.get(column);
- }
- }
|