/*
功能:更灵活的query
这是人事的数据模型类,完成对人事表的各种操作
即:数据库的底层,对上面提供服务。
整个这个类是为:EmpInfo.java 这个类服务的。
*/
package com.mhl.model;
import javax.swing.table.*:
import java.util.*:
import java.sql.*;
public class EmpModel extends AbstractTabelModel
{
Vector colums;
Vector<Vector> rows;
//写一个方法,用于查询需要显示的人事信息。
// query方法不通用 ,对query做修改,让他更加通用,
public void query(String sql,String paras[])
{
// 初始化列
this.colums=new Vector<String>();
this.rows=new Vector<Vector>();
// 创建SqlHelper对象
SqlHelper sh=new SqlHelper();
ResultSet rs=sh.query(sql,paras);
//从rs对象中可以得到一个ResultSetMetadata对象
ResultSetMetaData rsmt= rs.getMetadata();
//对于ResultSetMetaData对象来说, 它可以得到结果有多少列,而且可以知道每列的名字
for(int i=0;i<rsmt.getColumnCount();i++)
{
this.colums.add(rsmt.getCatalogName(i+1));
} //getCatalogName 得到每一个列的名字。
try
{// 把rs的结果放入到:rows
while(rs.next()) // 怎么看这个while循环???
{
// rs.next() 这个的意思和作用是什么??
Vector<String> temp=new Vector<String>();
for(int i=0;i<rsmt.getColumnCount();i++)
{
temp.add(rs.getString(i+1));
} // 如何理解这个for循环????
/*
temp.add(rs.getString(1));
temp.add(rs.getString(2));
temp.add(rs.getString(3));
temp.add(rs.getString(4));
*/
rows.add(temp);
}
}catch(Exception e)
{
e.printStackTrace();
}finally{
sh.close();
}
}
public int getColumnCount()
{
//
return this.colums.size();
}
public int getRowCount()
{
//
return this.rows.size();
}
public Object getValueAt(int arg0,int arg1)
{
//
return ((Vector)rows.get(arg0)).get(arg1);
}
public String getColumnName(int arg0)
{
return this.colums.get(arg0).toString();
}
}
功能:更灵活的query
这是人事的数据模型类,完成对人事表的各种操作
即:数据库的底层,对上面提供服务。
整个这个类是为:EmpInfo.java 这个类服务的。
*/
package com.mhl.model;
import javax.swing.table.*:
import java.util.*:
import java.sql.*;
public class EmpModel extends AbstractTabelModel
{
Vector colums;
Vector<Vector> rows;
//写一个方法,用于查询需要显示的人事信息。
// query方法不通用 ,对query做修改,让他更加通用,
public void query(String sql,String paras[])
{
// 初始化列
this.colums=new Vector<String>();
this.rows=new Vector<Vector>();
// 创建SqlHelper对象
SqlHelper sh=new SqlHelper();
ResultSet rs=sh.query(sql,paras);
//从rs对象中可以得到一个ResultSetMetadata对象
ResultSetMetaData rsmt= rs.getMetadata();
//对于ResultSetMetaData对象来说, 它可以得到结果有多少列,而且可以知道每列的名字
for(int i=0;i<rsmt.getColumnCount();i++)
{
this.colums.add(rsmt.getCatalogName(i+1));
} //getCatalogName 得到每一个列的名字。
try
{// 把rs的结果放入到:rows
while(rs.next()) // 怎么看这个while循环???
{
// rs.next() 这个的意思和作用是什么??
Vector<String> temp=new Vector<String>();
for(int i=0;i<rsmt.getColumnCount();i++)
{
temp.add(rs.getString(i+1));
} // 如何理解这个for循环????
/*
temp.add(rs.getString(1));
temp.add(rs.getString(2));
temp.add(rs.getString(3));
temp.add(rs.getString(4));
*/
rows.add(temp);
}
}catch(Exception e)
{
e.printStackTrace();
}finally{
sh.close();
}
}
public int getColumnCount()
{
//
return this.colums.size();
}
public int getRowCount()
{
//
return this.rows.size();
}
public Object getValueAt(int arg0,int arg1)
{
//
return ((Vector)rows.get(arg0)).get(arg1);
}
public String getColumnName(int arg0)
{
return this.colums.get(arg0).toString();
}
}