<html>
<%@ page language="java" contentType="text/html;charset=gb2312" %>
<%
request.setCharacterEncoding("gb2312");
%><head>
<title>MY Page 002</title>
</head>
<%@page import="java.sql.*"%>
<%@page import="java.util.*"%>
<body><%!
String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=MyDB";
String user = "sa";
String password = "";
%><%
try//数据库连接
{
Class.forName(driver);
}
catch (Exception e)
{
out.println("数据库连接真的出错误了~郁闷!");
}
%><%
int count = 0;
try
{
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
/*stmt.executeUpdate("INSERT INTO Count(total,address,date) VALUES ("3","127.0.0.1","060215");");*/
ResultSet rst = stmt.executeQuery("select * from Count");
/*rst.beforeFirst();*/
}
catch (Exception e)
{
out.println("数据库连接真的出错误了~郁闷!");
}
 
request.getSession(true);
if (session.isNew())
{

}
%></body></html>
注释掉的两句为什么有错误呀?高手指点我下~我新手~解决给分~5555555555555

解决方案 »

  1.   

    int a = stmt.executeUpdate("INSERT INTO Count(total,address,date) VALUES("3","127.0.0.1","060215");");
    也不行!
      

  2.   

    catch (Exception e) 
        e.printStackTrace();
        
        //handler Exception
    }这样捕捉异常后打印错误信息,可以知道错误出在哪里!
    你的写法没有处理异常,而且还屏蔽了错误信息你的sql 应该写的有问题 "INSERT INTO Count(total,address,date) VALUES ("3","127.0.0.1","060215");"写成下面这样试试:"INSERT INTO Count(total,address,date) VALUES ('3','127.0.0.1','060215')"
      

  3.   

    stmt.executeUpdate("INSERT INTO Count(total,address,date) VALUES ("3","127.0.0.1","060215");");应该是用单引号吧
      

  4.   

    stmt.executeUpdate("INSERT INTO Count(total,address,date) VALUES ('3','127.0.0.1','060215');");要改成单引号如果还有错,就在异常中加一句话
    catch (Exception e)
    {
             out.println(e.getMessage());
    out.println("数据库连接真的出错误了~郁闷!");
    }看一下异常是什么?
      

  5.   

    谢谢~还有一个问题呢~
    rst.beforeFirst();
    为什么错误?
      

  6.   

    说是
    [Microsoft][SQLServer 2000 Driver for JDBC]Unsupported method: ResultSet.first
    SQL 2000没不支持吗?
    我的书里看的是MS SQL
      

  7.   

    因为默认的ResultSet的cursor 是不能向前移动的,只能往下一条记录的方向移动Statement stmt 
     = con.createStatement(
                         ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE
                          ); 
    这样构造你的Statement
    就可以了调用beforeFirst()方法了还是那句话,多看看文档,这些在文档里面就有!!!