//////////////////////
public void actionPerformed(ActionEvent arg0) {
//查询模块
if(arg0.getSource()==this.p1_jb1)
{
System.out.println("查询");
String name=this.p1_jtf1.getText().trim();
cl=name;
String newname="%"+cl+"%";
String []parars={newname,"1",UserLogin.u,UserLogin.sy,UserLogin.xq};
String sql=null;
sql="select id,KeChengMing,BookName,ChuBanS,ClassName,RenShu,StuYear,XueQi,WuCha from V_YuDing where ClassName=? and 1=? and DeptName=? and StuYear=? and XueQi=?";
yum=new YuDingModel();
yum.query2(sql,parars);
jtable.setModel(yum);
}//////////////////////////////调用底层的rs初始化jtable
public void query2(String sql,String[] parars)
{
//初始化列
this.colums=new Vector();
/*this.colums.add("KeChengMing");
this.colums.add("BookName");
this.colums.add("ISBN");
this.colums.add("ClassName");
this.colums.add("ShuLiang");*/
this.rows=new Vector();
//创建sqlhelper对象
SqlHelper sh=new SqlHelper();
ResultSet rs=sh.query3(sql, parars);
try {
ResultSetMetaData rsmd=rs.getMetaData();
for(int i=0;i<rsmd.getColumnCount();i++)
{
this.colums.add(rsmd.getColumnName(i+1));
}
while(rs.next())
{
Vector temp=new Vector();
for(int i=0;i<rsmd.getColumnCount();i++)
{
temp.add(rs.getString(i+1));
}
//temp.add(rs.getString(1));
//temp.add(rs.getString(2));
//temp.add(rs.getString(3));
//temp.add(rs.getString(4));
//temp.add(rs.getString(5));
rows.add(temp);
}
}catch(Exception e){
e.printStackTrace();
}finally{
sh.close();
}
}
///////////////////////////////////////////底层查询数据库函数query3,返回rs
public class SqlHelper {
//定义需要的对象
PreparedStatement ps=null;
ResultSet rs=null;
Connection ct=null;
String driverName="sun.jdbc.odbc.JdbcOdbcDriver";
String url="jdbc:odbc:mytest";
String user="sa";
String passwd="sa";
public static boolean eu=true;
//构造函数初始化ct
public SqlHelper()
{
try {
Class.forName(driverName);
ct=DriverManager.getConnection(url,user,passwd);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
public ResultSet query3(String sql,String []parars)
{
try {
ps=ct.prepareStatement(sql);
//ps.setString(1,"%"+parars[0]+"%");
for(int i=0;i<parars.length;i++)
{
ps.setString(i+1, parars[i]);
}
rs=ps.executeQuery();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
return rs;
}
}运行不报错,就是jtable的结果显示不出来,
sql语句不用模糊查询时,能够正常查询。
真是搞不懂啊 ,网上模糊查询的条件就是这么写的,为什么我就查不出来结果呢?????
大哥大姐帮忙看看那啊,我用的是myeclipse8.0+sqlserver2000
public void actionPerformed(ActionEvent arg0) {
//查询模块
if(arg0.getSource()==this.p1_jb1)
{
System.out.println("查询");
String name=this.p1_jtf1.getText().trim();
cl=name;
String newname="%"+cl+"%";
String []parars={newname,"1",UserLogin.u,UserLogin.sy,UserLogin.xq};
String sql=null;
sql="select id,KeChengMing,BookName,ChuBanS,ClassName,RenShu,StuYear,XueQi,WuCha from V_YuDing where ClassName=? and 1=? and DeptName=? and StuYear=? and XueQi=?";
yum=new YuDingModel();
yum.query2(sql,parars);
jtable.setModel(yum);
}//////////////////////////////调用底层的rs初始化jtable
public void query2(String sql,String[] parars)
{
//初始化列
this.colums=new Vector();
/*this.colums.add("KeChengMing");
this.colums.add("BookName");
this.colums.add("ISBN");
this.colums.add("ClassName");
this.colums.add("ShuLiang");*/
this.rows=new Vector();
//创建sqlhelper对象
SqlHelper sh=new SqlHelper();
ResultSet rs=sh.query3(sql, parars);
try {
ResultSetMetaData rsmd=rs.getMetaData();
for(int i=0;i<rsmd.getColumnCount();i++)
{
this.colums.add(rsmd.getColumnName(i+1));
}
while(rs.next())
{
Vector temp=new Vector();
for(int i=0;i<rsmd.getColumnCount();i++)
{
temp.add(rs.getString(i+1));
}
//temp.add(rs.getString(1));
//temp.add(rs.getString(2));
//temp.add(rs.getString(3));
//temp.add(rs.getString(4));
//temp.add(rs.getString(5));
rows.add(temp);
}
}catch(Exception e){
e.printStackTrace();
}finally{
sh.close();
}
}
///////////////////////////////////////////底层查询数据库函数query3,返回rs
public class SqlHelper {
//定义需要的对象
PreparedStatement ps=null;
ResultSet rs=null;
Connection ct=null;
String driverName="sun.jdbc.odbc.JdbcOdbcDriver";
String url="jdbc:odbc:mytest";
String user="sa";
String passwd="sa";
public static boolean eu=true;
//构造函数初始化ct
public SqlHelper()
{
try {
Class.forName(driverName);
ct=DriverManager.getConnection(url,user,passwd);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
public ResultSet query3(String sql,String []parars)
{
try {
ps=ct.prepareStatement(sql);
//ps.setString(1,"%"+parars[0]+"%");
for(int i=0;i<parars.length;i++)
{
ps.setString(i+1, parars[i]);
}
rs=ps.executeQuery();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
return rs;
}
}运行不报错,就是jtable的结果显示不出来,
sql语句不用模糊查询时,能够正常查询。
真是搞不懂啊 ,网上模糊查询的条件就是这么写的,为什么我就查不出来结果呢?????
大哥大姐帮忙看看那啊,我用的是myeclipse8.0+sqlserver2000
where ClassName=? and 1=? 应该是where ClassName like ? and 1=?
where ClassName like ? and 1=? 就是这样也查不出来啊 啊
where ClassName=? and 1=? 应该是where ClassName like ? and 1=?
where ClassName like ? and 1=? 就是这样也查不出来啊 啊
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mytest";
String user="sa";
String password="sa";
ct= DriverManager.getConnection(url,user,password);
sql驱动类