麻烦高手
  我的jsp老是连不上数据库呢,sql都配置好了,sqljdbc.jar也有了,环境变量也配置了,但老是连不上。
  代码是用的一下的:
public class ConnectionDemo
{
public ConnectionDemo()
{
}
void display()
{
Connection con=null;
String url="jdbc:sqlserver://localhost:1433;DatabaseName=MyDB";
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
System.out.println("成功加载驱动!");
String username="sa";
String password="123";
con=DriverManager.getConnection(url,username,password);
System.out.println("成功连接");
Statement stmt=con.createStatement();
int id;
String text;
int age;
ResultSet rs;
String strSQL="Select* From Person";
rs=stmt.executeQuery(strSQL);
if(rs.next())
{
do{
id=rs.getInt(1);
System.out.print("ID:"+id);
text=rs.getString(2);
System.out.print("name"+text);
text=rs.getString(3);
System.out.print("sex"+text);
age=rs.getInt(4);
System.out.print("age"+age);
text=rs.getString("addresss");
System.out.print("address:"+text);
text=rs.getString("phone");
System.out.print("phone:"+text);
}
while(rs.next());
}
else{
System.out.println("no data");
}
}
catch(ClassNotFoundException e){
System.out.println(e);
}
catch(SQLException e){
System.out.println(e);
}
finally{
try{
if(con!=null){
con.close();
}
}
catch(SQLException e){
System.out.println(e);
}
}
}
public static void main(String args[]){
ConnectionDemo app=new ConnectionDemo();
app.display();
}
}

解决方案 »

  1.   

    错误:java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
      

  2.   


    1.报什么错
    2.String strSQL="Select* From Person"; // String strSQL="Select * From Person 空格
    3.if(rs.next())
    {
    do{
    id=rs.getInt(1);
    System.out.print("ID:"+id);
    text=rs.getString(2);
    System.out.print("name"+text);
    text=rs.getString(3);
    System.out.print("sex"+text);
    age=rs.getInt(4);
    System.out.print("age"+age);
    text=rs.getString("addresss");
    System.out.print("address:"+text);
    text=rs.getString("phone");
    System.out.print("phone:"+text);
    }
    while(rs.next());
    }
    else{
    System.out.println("no data");
    }用不着这么写
    while(rs.next()){
    id=rs.getInt(1);
    System.out.print("ID:"+id);
    ....
    }
      

  3.   

    http://blog.csdn.net/y970105/archive/2005/02/06/283415.aspx
      

  4.   

    jar没有正确的防止在classpath环境上
      

  5.   

    貌似是找不到类啊 .. 是不是jar的问题..
      

  6.   

    jar我放到我在C盘新建的jdbcdiver文件夹里面的. classpath里面 添加了 C:\jdbcdiver\sqljdbc.jar
      

  7.   

    楼主你那是web项目还是java项目啊?
    明显是找不到jar包的错误,web项目的话你在tomcat里的webapps下
    找到你项目名称,然后WEB-INF,然后在lib文件夹里放那个jar包
      

  8.   

    sql2000的程序,用的sql2005的包,所以找不到类。
      

  9.   

    没有加驱动包,这个很明显的错误。把驱动包拷贝到WEB-INF下的lib下就行了。
      

  10.   

    com.microsoft.jdbc.sqlserver.SQLServerDriver
    你这个是连接2000的数据库
    com.microsoft.sqlserver.jdbc.SQLServerDriver
    这个才是连接2005的数据库
      

  11.   

    你那个明显的是找不到jar包,你部署后去tomcat的webapp下找到你的工程,然后看看有没有驱动包直接放到bin下,不要加文件夹如果加了就找不到了
      

  12.   

    是你的sqlserver数据的问题,根据你的版本来
      

  13.   

    不要用do....while   用 
    while(rs.next()){
    System.out.println(rs.getInt(1));
    }
    试验下
      

  14.   

    一个字乱,建议你驱动和SQl语句分开写
      

  15.   

    sqljdbc.jar(说明是sql server 2005,sql server 2000的有三个驱动包)放在这里!D:\JAVA\jdk1.6.0_10\jre\lib\ext 先看到结果,以后搞明白了,在继续深究!
      

  16.   

    不行就改用另一种方法试试,这个还要用JAVA驱动包麻烦