package jdbc_odbc;import java.awt.*;
import javax.swing.*;
import java.awt.BorderLayout;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.table.DefaultTableModel;
import java.sql.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.Vector;public class Frame_jbdc
    extends JFrame {
  public JButton jButton1 = new JButton();
  public XYLayout xYLayout1 = new XYLayout();
  public JScrollPane jScrollPane1 = new JScrollPane();
  public JTable table = new JTable();
  DefaultTableModel dt=new DefaultTableModel();
  public Frame_jbdc() {
    try {
      jbInit();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }  private void jbInit() throws Exception {
    getContentPane().setLayout(xYLayout1);
    jButton1.setText("jButton1");
    jButton1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButton1_actionPerformed(e);
      }
    });
    this.getContentPane().add(jButton1, new XYConstraints(18, 9, 100, 28));
    this.getContentPane().add(jScrollPane1, new XYConstraints(44, 54, 313, 196));
    jScrollPane1.getViewport().add(table);
    dt.addColumn("电脑编号");
    dt.addColumn("状态");
    dt.addColumn("备注");
    //createTableModel();
    table.setModel(dt);  }  public void jButton1_actionPerformed(ActionEvent e) {
   String url="jdbc:microsoft:sqlserver://";
   String serverName="keni";
   String portNumber="1434";
   String databaseName="netbar";
    try {
      Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    }
    catch (ClassNotFoundException ex) {
      ex.printStackTrace();
    }
    try {
      Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://keni:1433;databaseName=netbar;","sa","123");
      Statement s = con.createStatement();
          String strSel = "select * from Computer";
          ResultSet rs = s.executeQuery(strSel);
          if (table.getRowCount() > 0) {
                      for (int i = 0; table.getRowCount() > 0; i++) {
                          dt.removeRow(0);
                      }
                  }
          while (rs.next()) {
            Vector v=new Vector();
            v.addElement(rs.getString(1));
            v.addElement(rs.getString(2));
            v.addElement(rs.getString(3));
            dt.addRow(v);
          }          rs.close();
          s.close();
          con.close();    }
    catch (SQLException ex1) {
      ex1.printStackTrace();
    }
  }
}

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【keni4516437】截止到2008-07-17 22:12:37的历史汇总数据(不包括此帖):
    发帖的总数量:4                        发帖的总分数:55                       每贴平均分数:13                       
    回帖的总数量:19                       得分贴总数量:8                        回帖的得分率:42%                      
    结贴的总数量:4                        结贴的总分数:55                       
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:0.00  %               无满意结分率:0.00  %                  
    敬礼!
      

  2.   


    找到这个类在哪个jar文件中,将这个jar包放到classpath路径中
      

  3.   

    我是用JBUILDER编译的,不在DOS下运行的.
      

  4.   

    没sql server的驱动嘛找一个就好了。你的代码一看就是jbuilder的,不需要另外说明了。
      

  5.   

    你既然用的jdbc for mssql 2005的jar,
    那么url就不要这样写jdbc:microsoft:sqlserver:.......
    应该写成:jdbc:sqlserver:....................Readme.txt貌似是有说明的,你下载jar的时候要看看!
      

  6.   

    release.txt文中有描述
    [code=INIFile]
    已知问题
    ------------
    下面是有关 Microsoft SQL Server 2005 JDBC Driver 的已知问题:
    1) 驱动程序与 SQL SERVER 2000 JDBC DRIVER 之间存在加载冲突如果您在同一个进程中同时加载 Microsoft SQL Server 2000 JDBC Driver
    和 Microsoft SQL Server 2005 JDBC Driver,在某些情况下,2000 版
    JDBC 驱动程序将错误地接受 DriverManager.getConnection 方法调用,而
    该调用实际是针对 2005 版 JDBC 驱动程序的。产生这一问题的原因是:如果首先加载 2000 版 JDBC 驱动程序,则此驱动程
    序将错误地接受 URL 前缀“jdbc:sqlserver://”。若要解决此问题,请先加载 2005 版 JDBC 驱动程序类,如下所示:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2005 版
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); // 2000 版这将确保 URL 前缀“jdbc:sqlserver://”由 2005 版 JDBC 驱动程序处理,而
    URL 前缀“jdbc:microsoft:sqlserver://”由 2000 版 JDBC 驱动程序处理。
    [/code]
      

  7.   

    MS SQLServer Java ODBC驱动JAR文件,包括三个文件:mssqlserver.jar
    msutil.jar
    msbase.jarhttp://www.javawind.net/5b016f381a924efb011a96bd26600004.jhtmlMicrosoft 官方下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en
      

  8.   

    楼主bootupnow ,按那样修改了但抛出了com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect这样异常
      

  9.   

      Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://keni:1433;databaseName=netbar;","sa","123"); 
    红色的地方换成数据库所在的机器的IP,本机用localhost
      

  10.   

    按照所有楼上的兄弟的方法问题应该已经解除了
    在本机跑的话把keni改成localhost就好了,顺便保证你的数据库名用户名密码都正确就应该没什么问题了
      

  11.   

    参考这个 http://www.java2000.net/viewthread.jsp?tid=394
    其实已经线下解决,纯来接分的!