出的什么错?
编译通过了没有?
把错误信息贴出来在你的程序里多加几个System.out.println("随便写点什么")
看看程序执行到什么地方出的错

解决方案 »

  1.   

    可能是少了一行:
    stmt=con.createStatement();
      

  2.   

    1、缺少
    stmt=con.createStatement();2、ResultSet rs=stmt.executeQuery(query);
    query又在那里呢???3、rs.getString("id");
    你的ID在数据库中是字符串吗!??
      

  3.   

    首先你不要在一个程序里又写入又读出,对于新手来说,这样很难分析出问题出在哪里.
    你先往直接数据库里插入数据,然后写一个JSP程序把你插入数据读出来,一步一步的.
    我给一些连接数据库的代码你.
    <%@ page contentType="text/html;charset=gb2312"%>   
    <%@ page import="java.sql.*"%> 
    <%!
    public static String getGBString(String src) {
    try {
    return new String(src.getBytes("ISO-8859-1"), "gb2312");
    } catch (java.io.UnsupportedEncodingException e) {
    return null;
    }
    }
    %>
    <html>   
    <body> <%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();   
    String url="jdbc:microsoft:sqlserver://192.168.0.0:1433;DatabaseName=test"; 
    //test你的数据库的 
    String user="sa"; 
    String password="123"; 
    Connection conn= DriverManager.getConnection(url,user,password);   
    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);   
    String sql="select id,title,posttime,name from bbs";   
    ResultSet rs=stmt.executeQuery(sql);%>
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
      <tr>
        <td width="25%" bgcolor="#FFCCCC">
        <p align="center"><b>id</b></td>
        <td width="25%" bgcolor="#FFCCCC">
        <p align="center"><b>title</b></td>
        <td width="25%" bgcolor="#FFCCCC">
        <p align="center"><b>posttime</b></td>
        <td width="25%" bgcolor="#FFCCCC">
        <p align="center"><b>name</b></td>
      </tr>
    <%while(rs.next()) {%>  <tr>
        <td width="25%"><%=getGBString(rs.getString(1))%><br></td>
        <td width="25%"><%=getGBString(rs.getString(2))%><br></td>
        <td width="25%"><%=getGBString(rs.getString(3))%><br></td>
        <td width="25%"><%=getGBString(rs.getString(4))%><br></td>
      </tr>
    <%}%> 
    </table>   <%rs.close();   
    stmt.close();   
    conn.close();   
    %>   </body>   
    </html> 
      

  4.   

    上面给的是一个完整的从数据库里读数据的程序,数据库软件是sql server 2000.
    数据库名为test
    用户名为sa
    密码是123
      

  5.   

    1.缺少stmt=con.createStatement();
    2.stmt.close(); con.close();不要写在循环语句内
      

  6.   

    我可以查出你的程序中出现了以下错误:
    (1)在用Class.forName()方法时,应该捕获异常:
        try{
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    
         }catch (ClassNOtFoundException e) { }
    (2)ni 你的数据库驱动程序写错了:sun.jdbc.odbc.JdbcodbcDriver
    记住:sun.jdbc.odbc.JdbcOdbcDriver
    在后面的首字母都要大写:JdbcOdbcDriver
    (3)所有的SQZL都要捕获异常:
    try{\
    con=DriverManager.getConnection(url,"sa","");

    stmt.executeUpdate("insert into test values('1','123','good')");

    }
    catch(SQLException e)
    { e.toString();}
    (4)没有声明Statement语句:
    应为:
    con=DriverManager.getConnection(url,"sa","");
    stmt=con.createStatement();
    stmt.executeUpdate("insert into test values('1','123','good')");
        
    (5)不应吧数据库和语句Statement的关闭操作放在循环中while (rs.next()) {
    String s=rs.getString("id");
    String f=rs.getString("name");
    System.out.println(s + " " + f);
    //stmt.close();
    //con.close();
    }                           stmt.close();
    con.close();
      

  7.   

    //执行SQL查询返回记录集
        public ResultSet executeQuery(String s)
        {
            ResultSet rs1 = null;
            try
            {
                if(conn != null)
                    conn.close();
                conn = DriverManager.getConnection(sConnStr, UseName, PassWord);
                Statement statement = conn.createStatement();
                rs1 = statement.executeQuery(s);
            }
            catch(SQLException sqlexception)
            {
                System.err.println("rs.executeQuery error" + s + sqlexception.getMessage());
            }
            return rs1;
        }
      

  8.   

    stmt.executeUpdate("insert into test values('1','123','good')");
    问题出在这句。这是什么?即不是调用beans的方法,也不是Statement的方法。
    把这句去掉,改成这两句就行了
    Statement stmt;
    stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);