//////////////////////
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

解决方案 »

  1.   

    楼主 模糊查询不用= 用like 关键字.如: where name like '芙蓉%'; //查找中以芙蓉开头的名字.
      

  2.   

    不好意思啊  我代码写错了   
    where ClassName=? and 1=?  应该是where ClassName like ? and 1=? 
    where ClassName like ? and 1=?   就是这样也查不出来啊 啊 
      

  3.   

    不好意思啊 我代码写错了   
    where ClassName=? and 1=? 应该是where ClassName like ? and 1=?  
    where ClassName like ? and 1=? 就是这样也查不出来啊 啊 
      

  4.   

    用odbc连接sqlserver 2000 好像不行.你换jdbc试试
      

  5.   

    引入sqlserver的jdbc驱动jar包Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mytest";
    String user="sa"; 
    String password="sa"; 
    ct= DriverManager.getConnection(url,user,password); 
      

  6.   

    用这个驱动类试试:
    sql驱动类
      

  7.   

    这个下载不了啊 你QQ多少  我加你QQ你传给我   我的418184681