public boolean connsqlandcheck(String lgname)
  {
   if(lgname==""|tf2.getText()=="")
    return(false);
   int num=0;
   status.append("连接数据库"+"\n");
   String sourceURL="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=d:\\我的文档\\testgrad\\user.mdb";
   try{
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn=DriverManager.getConnection(sourceURL);
    status.append("成功连接"+"\n");
    Statement stmt=conn.createStatement();
    ResultSet rset=stmt.executeQuery("select upassword from udata where uname ='"+lgname+"'");
    status.append("已打开数据库!"+"\n");
    while(rset.next())
    {
     if(tf2.getText()==rset.getString("upassword"))
       {
      num++;
      status.append(rset.getString("upassword")+"\n");
       }
     else continue;
    }
    rset.close();
       stmt.close();
       conn.close();
       status.append("数据库关闭!"+"\n");
       
   }以上是程序的一部分,就是实现连接数据库,取出特定字段和已知字段比较(就是验证),可是也是能正常运行,就是没有结果,明明有这个字段,就是认为没有,
而我用来测试的另外一个完整的小程序,就是浏览数据库表的字段,却可以显示,我复制过来还是不行,请帮我看看:import java.sql.*;
public class TestsqlofAccess {
 /**
  * @param args
  */
 
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String str="feng";
  String sourceURL="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=d:\\我的文档\\testgrad\\user.mdb";
  try{
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  Connection conn=DriverManager.getConnection(sourceURL);
  Statement stmt=conn.createStatement();
  ResultSet rset=stmt.executeQuery("select * from udata where uname ='"+str+"'");
  System.out.println("id  姓名  密码");
  while(rset.next())
  {
   System.out.println(rset.getInt("uid")+"  "+rset.getString("uname")+"  "+rset.getString("upassword"));
   
  }
  rset.close();
     stmt.close();
     conn.close();
  }
 catch(Exception e)
 {
  e.getStackTrace();
 }
 }
 
}这个程序能正常运行!
上面的程序,我调试过,应该是while没有执行,也就是没有相应的字段,不过明明有这个字段,因为下面的测试程序能显示出结果来!