sun.jdbc.odbc.JdbcOdbcDriver这句改为com.microsoft.jdbc.sqlserver.SQLServerDriver
这是sqlserver的

解决方案 »

  1.   

    1、Connection con=DriverManager.getConnection("jdbc:odbc:mydb","","");2、stmt.executeUpdate("insert into User1 values"+"("+"'"+name+"','"+pwd+"'"+")");
    或:String sql="insert into User1 values"+"("+"'"+name+"','"+pwd+"'"+")";
        stmt.executeUpdate(sql);3、ResultSet rs=stmt.executeQuery("select * from User1");
        //rs.getString("name");   rs在没有执行如rs.next()这样的动作之前是不能执行这句的。
    out.println("All user in DB!"); 
    while(rs.next()){
    out.print("user name: ");
    out.print(rs.getString("name")+"      pwd: ");
    out.println(rs.getString("pwd"));
    }

    //clear,must do it
    //rs.close();
    //stmt.close();
    con.close();   //直接执行这句就行了。
      

  2.   

    另外Connection con=DriverManager.getConnection("jdbc:odbc:mydb");这句改为
    Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb");
      

  3.   

    回复人: artisthl(清香白莲) ( ) 信誉:100  2004-09-29 09:01:00  得分: 0  
     
     
       sun.jdbc.odbc.JdbcOdbcDriver这句改为com.microsoft.jdbc.sqlserver.SQLServerDriver
    这是sqlserver的
      
     
    他是使用JDBC-ODBC桥的,不是采用纯Java驱动的,并没有错,
    如果使用纯Java的话要另外下载驱动程序啊
      

  4.   

    给你个地址应该可以解决
    http://search.csdn.net/Expert/topic/2566/2566686.xml?temp=.8495447
      

  5.   

    我也怀疑过是数据的编码问题
    但是不知道怎么去解决
    这个是SQL Server连接的错误信息
    [Microsoft][ODBC SQL Server Driver][SQL Server]????: ??????????????????
    如何解决?
      

  6.   

    用这个替换上面的一试<html>
       <head><title>Add User to DB</title></head>
       <%@ page contentType="text/html; charset=gb2312" language="java" %>
       <%@ page import="java.sql.*"%>
    <body>
       <pre>
    <%
    //Get parameters from request
    String name,pwd;
    name=request.getParameter("name");
    pwd=request.getParameter("pwd");
      try{
    //add infomation to DB
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");       
      Connection con=DriverManager.getConnection("jdbc:odbc:mydb");
            out.println(con);
    Statement stmt=con.createStatement();
            out.println(stmt);
    stmt.executeUpdate("insert into User1 values('"+name+"','"+pwd+"')");
            

    //query DB for display all users
    ResultSet rs=stmt.executeQuery("select * from User1");
    out.println("All user in DB!"); 
    while(rs.next()){
    out.print("user name: ");
    out.print(rs.getString("name")+"      pwd: ");
    out.println(rs.getString("pwd"));
    }

    //clear,must do it
    rs.close();
    stmt.close();
    con.close();

       }catch(Exception ex){
        out.println(ex.getMessage());
       }
    %>
       </pre>
    </body>
    </html>
      

  7.   

    对,连接没有问题
    Statement stmt=con.createStatement();这句改为
    Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE)
    后面执行时要先rs.next;
      

  8.   

    对数据库的操作执行后,游标默认是在第一条记录之前,所以要rs.next
    游标默认是不可滚动的,所以要加ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE把它设为可滚动的
      

  9.   

    对了
    为什么我上一张传来的值的用户名的数据是 NULL
    而密码的数据却传过来了?这是上一张的网业的代码<html>
    <head><title></title>
    </head>
    <body>
    <form method="post" action="index3.jsp">
    <p align="center">姓名
       <input type="text" name="name"></p>
    <p align="center">密码
       <input type="password" name="pwd"></p>
    <p align="center">
       <input type="submit" name="提交" value="提交"></p>
    <form>
    </body>
    </html>   
      

  10.   

    刚才用 xunyiren(从jsp开始) 的代码从新做了一遍
    又把数据库修改了一点因为我的SQL Server的数据库是从ACCESS中转化来的
    所以多了一个ID,删除了以后就可以了
    但是现在出现的问题是
    上一张网业的用户名(name)的值传不过来了
    这个在ASP中是从来没有出现过的
    不知道怎么回事