问一个jdbc新手问题

来源:百度知道 编辑:UC知道 时间:2024/05/14 11:51:48
我用ms access创建了一个数据库db1.mdb在其中创建了表然后在控制面板中数据源里也把db1.mdb添加进去啦,账号密码设置好后运行以下代码

import java.sql.*;
public class A{
public static void main(String args[]){
Connection con;Statement sql;ResultSet rs;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){System.out.println("cuowu1"+e);}
try{
con=DriverManager.getConnection("jdbc:odbc:score","admin","");
sql=con.createStatement();
rs=sql.executeQuery("SELECT * FROM chengjibiao");
while(rs.next())
{
String number=rs.getString("学号");
System.out.println("学号"+number);

}
con.close();
}
catch(SQLException ee){System.out.println("cuowu2");}
}
}

编译后显示cuowu2
高手看下
cuowu2[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

变量sql 应该先声明
Statement sql=....
rs 也是,应该先声明

你把这句话catch(SQLException ee){System.out.println("cuowu2");}
修改成catch(SQLException ee){System.out.println("cuowu2"+ee.getMessage());} 然后你把错误结果发上来看看啊。

哦,是不是没有设置数据源啊?在控制面板里面的,是吧?
控制面板->管理工具->数据源,然后添加数据源,不然没法连接数据库啊。

con=DriverManager.getConnection("jdbc:odbc:score","admin","");
这里的问题吧?

用记事本写的吧?变量都不声明可以吗?

数据库的名称应该和程序中的一致,你的数据库名称是score还是db1?不一致是访问不到数据库的