JAVA高手帮忙啊谢谢了

来源:百度知道 编辑:UC知道 时间:2024/05/06 11:21:53
任务是连接数据库,本地的SQL数据库,通过JODB-ODBC桥接方式;
连接数据库里的userpwd表,里面有一条记录;
一个类是做连接的:
===========================================
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.SQLException;
import java.sql.ResultSet;

public class Lianjieshujuku
{
public Lianjieshujuku()
{
url="jdbc:odbc:xiangmu";
user="sa";
pwd="520520";
}
public Connection contoserver()
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException ce)
{
System.out.println(ce);
}
try
{
con=DriverManager.getConnection(url,user,pwd);
return con;
}
catch(SQLException ce)
{
System.out.println(ce);
try
{
con.close();
}
catch (SQLException ex)
{
System.out.println(ex);

System.out.println(rs.getString(1));\\\\到这就出错了

JDK文档中这么写的\" ResultSet object maintains a cursor pointing to its current row of data. Initially the cursor is positioned before the first row\"
也就是说你通过
ResultSet rs=s.executeQuery(str); 所得到的ResultSet对象维护的指针在第一行前,在使用前先rs.next()使ResultSet指向数据记录的第一条。
(next()这个方法返回的是一个boolean类型的值
可以用来判断你的ResultSet是否有下一条记录并向下移动一条。)

System.out.println(rs.getString(1));\\到这就出错了
把这句删除并换成
while(rs.next()){
System.out.println(rs.getString(1));
}
这才是争取读取数据库的方法,意思是判断你读出的结果集resultset里是否有数据,也就是你的查询,是否有结果,如果有就输出,没有就跳出循环