连接完了 代码如下
package qq;
import java.sql.*;
public class SqlConnect {
public static void main(String[] args){
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=student";
String user = "sa";
String password = "1";
try {
Class.forName(driver); 
        Connection conn = DriverManager.getConnection(url, user, password);
        
            Statement stat = conn.createStatement();
            System.out.println("Connection Successful!"); 
          
      ResultSet rs=stat.executeQuery("sp_databases"); 
      
    
    }catch(Exception e){e.printStackTrace();}
 }}输出 Connection Successful
也就是连接成功但是!!!!!!!!!ResultSet rs=stat.executeQuery("sp_databases"); 
这一句没有执行
如果换成 select * from stu显示
com.microsoft.sqlserver.jdbc.SQLServerException: 对象名  'stu' 无效。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.sendExecute(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteQuery(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(Unknown Source)
at qq.SqlConnect.main(SqlConnect.java:20)感觉好像是 我数据库根本没有东西 但是我里面有很多的内容原先连过很容易连上了 但是这次是笔记本 说什么也不行感觉是连上了 但是却没内容请大家分析一下是什么问题

解决方案 »

  1.   

    假如这句 String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=student"; 
    如果不是student 那么就说没有此数据库
    那就是说我还是连上数据库了 而且还有数据库
    那为什么 错那是不是我最后几句错了
      

  2.   

    你确定你的数据库名是DatabaseName 而且连接字符串需要写成
    服务器名//实例名
      

  3.   


    我的数据库名不是DatabaseName  是student 所以才有 DatabaseName=student
    不对吗 还有而且连接字符串需要写成 
    服务器名//实例名是什么意思我以前连过一次没有问题 但这次就不行了 
    唯一的区别就是 这次是笔记本
      

  4.   

    有点知道怎么回事了我的结果不能在eclipse 上显示 不是连接有问题这是新代码package test;
    import java.sql.*;
    import java.awt.*;
    import java.util.*;
    import javax.swing.*;
    public class SqlConnect {

    public static void main(String[] args)
    {
    JFrame f=new JFrame();
    FlowLayout l=new FlowLayout();
    f.setLayout(l);
    JLabel ln=new JLabel("状态");
    f.getContentPane().add(ln);
    Vector v=new Vector();



    String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=a";
    String user = "sa";
    String password = "1";
    try {
              Class.forName(driver); 
            Connection conn = DriverManager.getConnection(url, user, password);
            
                Statement stat = conn.createStatement();
                //System.out.println("Connection Successful!"); 
              
          ResultSet rs=stat.executeQuery("select num from s "); 
          while(rs.next()){
       v.addElement(rs.getString("num"));  
          }
          
    }
    catch(Exception e){e.printStackTrace();}
     
    JList l1=new JList(v);
    l1.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    f.getContentPane().add(l1);
    f.setSize(400,200);
    f.setVisible(true);
     
    }

    }
     在AWT 主件上有结果了 那么有几个问题(1) 怎么能直接在eclipse 上显示 在我第一次发的代码上怎么改(2)我在DOS 上执行 说没有主函数(两个程序都是)怎么在DOS 上执行