小弟初学JAVA...用的是SQL SERVER 2000
最近在学习JAVA数据库方面的
写了个程序
import java.sql.*;
import java.util.*;
public class ConnetionTest{
public static void main(String args[]){
String output="a";
String output1="";
String output2="";
Connection con;
Statement sql;
ResultSet rs;
try{
output="b";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){output1="None!";}
try{
con=DriverManager.getConnection("jdbc:odbc:simplejee","sa","sa");
output="c";
sql=con.createStatement();
rs=sql.executeQuery("SELECT Name FROM Info");
while(rs.next()){
output=output+rs.getString(1)+"\n";
}
con.close();
}
catch(SQLException ex) {output2="NULL";}
System.out.println(output+","+output1+","+output2);
}
}程序的输出是:b,,NULL
发现没有连接到数据库simplejee,又没用抛出异常。
而simplejee中是有表Info,其里中有3条数据的,可用查询分析器查出。
上述程序问题出在哪里?应该如何改正才能输出表Info里name字段的内容?请各位大大赐教.十分感激!
最近在学习JAVA数据库方面的
写了个程序
import java.sql.*;
import java.util.*;
public class ConnetionTest{
public static void main(String args[]){
String output="a";
String output1="";
String output2="";
Connection con;
Statement sql;
ResultSet rs;
try{
output="b";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){output1="None!";}
try{
con=DriverManager.getConnection("jdbc:odbc:simplejee","sa","sa");
output="c";
sql=con.createStatement();
rs=sql.executeQuery("SELECT Name FROM Info");
while(rs.next()){
output=output+rs.getString(1)+"\n";
}
con.close();
}
catch(SQLException ex) {output2="NULL";}
System.out.println(output+","+output1+","+output2);
}
}程序的输出是:b,,NULL
发现没有连接到数据库simplejee,又没用抛出异常。
而simplejee中是有表Info,其里中有3条数据的,可用查询分析器查出。
上述程序问题出在哪里?应该如何改正才能输出表Info里name字段的内容?请各位大大赐教.十分感激!
jdbc odbc 桥式连接真正项目都不用这个的,效率太低了。
在你的catch里面加一句:ex.printStacTrace(); 如果打印一大堆的堆栈信息,肯定有异常了。问一句:你的sqlserver 2K有没有打sp3补丁?没打的赶紧打上。
打上了再测。
改成con=DriverManager.getConnection("jdbc:odbc:Driver={SQL Server};Server=vizyhe;Database=simplejee","sa","sa");就OK了。感谢大家的帮忙。