现在数据库(sql server2000)和程序在不同机子上
本地的数据库操作我会
网络的话:
1。con = DriverManager.getConnection(DBURL,user,password);中的url怎么给啊格式是什么
 比如我通过交叉线直连的两台机子(一台有数据库,一台有程序运行)
jdbc:microsoft:sqlserver://yourHostName:1433;DatabaseName=yourDatabaseName;User=sa;Password=yourPasswordyourHostName是数据库所在主机ip地址吗?
user 和 password是指在sqlserver里设置的Security里设置的login吗???2。这样得到的Connection对象,可以直接
private Statement s;
private Connection con;public Statement getStatement()
{
return this.s;
}
public Connection getConnection()
{
         return this.con;
}
这样返回Statement或是Metadata使用吗?需要进行对象传输吗?3。在主机的数据库查询返回的结果怎么得到?可以直接使用Connection对象吗?谢谢!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    1Connection con;
    Statement stmt;
    ResultSet rs;
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
    String dbUrl =  "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BookDB";
    String dbUser="sa";
    String dbPwd="";
    con = java.sql.DriverManager.getConnection(dbUrl,dbUser,dbPwd);
    stmt = con.createStatement();
    stmt.executeUpdate("INSERT INTO books (id,name,title,price) VALUES ('999','Tom','Tomcat Bible',44.5)");
    rs = stmt.executeQuery("SELECT id,name,title,price from books");
    out.println("<table border=1 width=400>");
    while (rs.next())
    {
    String col1 = rs.getString(1);
    String col2 = rs.getString(2);
    String col3 = rs.getString(3);
    float col4 = rs.getFloat(4);
    out.println("<tr><td>"+col1+"</td><td>"+col2+"</td><td>"+col3+"</td><td>"+col4+"</td></tr>");
    }
    out.println("</table>");
    stmt.executeUpdate("DELETE FROM books WHERE id='999'");
    rs.close();
    stmt.close();
    con.close();
    }2 要使用记录集来传递把;resultset来传值
    3同上
      

  2.   

    要使用记录集来传递把;resultset来传值这句话是什么意思啊
    比如您在1里贴的代码:String dbUrl =  "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BookDB";
    如果把这里的
    localhost换成主机的IP地址呢?下面的代码还能那么用吗?
      

  3.   

    我用交叉线连接了两台机子
    数据库所在主机设的192.168.100.1
    程序所在机子设的192.168.100.2
    互相能ping通
    可是我把url这样写:
    String dbUrl =  "jdbc:microsoft:sqlserver://192.168.100.1:1433;DatabaseName=CAPO";连接出错:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
    at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:512)
    at java.sql.DriverManager.getConnection(DriverManager.java:171)
    at DatabaseTest$1.actionPerformed(DatabaseTest.java:69)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
    at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
    at java.awt.Component.processMouseEvent(Component.java:5100)
    at java.awt.Component.processEvent(Component.java:4897)
    at java.awt.Container.processEvent(Container.java:1569)
    at java.awt.Component.dispatchEventImpl(Component.java:3615)
    at java.awt.Container.dispatchEventImpl(Container.java:1627)
    at java.awt.Component.dispatchEvent(Component.java:3477)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
    at java.awt.Container.dispatchEventImpl(Container.java:1613)
    at java.awt.Window.dispatchEventImpl(Window.java:1606)
    at java.awt.Component.dispatchEvent(Component.java:3477)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
      

  4.   

    con = DriverManager.getConnection(url,user,password);这儿出错的