免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2909 | 回复: 13
打印 上一主题 下一主题

帮我看看是那里除了问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-16 14:58 |只看该作者 |倒序浏览
我运行的下列程序
<%@ page import=" java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html;charset=gb2312" %>
  <html>
  <body>
   Class.forName("com.microsoft.jdbc.sqlserver .SQLServerDriver".newInstance();
   String url="jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=cdstore";
  
   String user="sa";
   String password="";
   Connection conn= DriverManager.getConnection( url,user,password);
   Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
   String sql="select * from CD";
   ResultSet rs=stmt.executeQuery(sql);
   while(rs.next()) { 
    您的第一个字段内容为:=rs.getString(1)<br>
    您的第二个字段内容为:=rs.getString(2) <br>
   } 
   out.print("数据库操作成功,恭喜你"; 
   rs.close();
   stmt.close();
   conn.close();
  
  </body>
  </html>


报下面的错:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: /java.sql1.jsp(1,4) Invalid directive
        org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
        org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
        org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:8
        org.apache.jasper.compiler.Parser.parseDirective(Parser.java:516)
        org.apache.jasper.compiler.Parser.parseElements(Parser.java:1557)
        org.apache.jasper.compiler.Parser.parse(Parser.java:127)
        org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
        org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
        org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
        org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
        org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
        org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
        org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.

论坛徽章:
0
2 [报告]
发表于 2007-03-16 16:13 |只看该作者

SQLSERVER有没有打sp4的补丁

SQLSERVER有没有打sp4的补丁,如果打了,把sqlserver的驱动扔到项目的lib里

论坛徽章:
0
3 [报告]
发表于 2007-03-16 16:25 |只看该作者
换成下面的代码试试
<%@page import="java.lang.*,java.io.*,java.sql.*,java.util.*" contentType="text/html;charset=gb2312"%>
<html>
        <body>
                <%
                            try
                            {
                                Class.forName("com.microsoft.jdbc.sqlserver .SQLServerDriver").newInstance();
                                String url = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=cdstore";

                                String user = "sa";
                                String password = "";
                                Connection conn = DriverManager.getConnection(url, user, password);
                                Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
                                String sql = "select * from CD";
                                ResultSet rs = stmt.executeQuery(sql);
                                while (rs.next())
                                {
                                    out.print("您的第一个字段内容为" + rs.getString(1) + "<br>");
                                    out.print("您的第二个字段内容为" + rs.getString(2) + "<br>");
                                }
                                out.print("数据库操作成功,恭喜你");
                                rs.close();
                                stmt.close();
                                conn.close();
                            }
                            catch (Exception e)
                            {
                                e.printStackTrace();
                            }
                %>
        </body>
</html>

论坛徽章:
0
4 [报告]
发表于 2007-03-16 17:43 |只看该作者
谢谢你们


我用楼上的代码,什么都没返回

论坛徽章:
0
5 [报告]
发表于 2007-03-16 19:23 |只看该作者
建议还是先看看jsp的语法
在jsp中用java代码是需要
<%%>d的

论坛徽章:
0
6 [报告]
发表于 2007-03-16 23:07 |只看该作者
别用中文空格。。。
另外5楼建议在学习下

论坛徽章:
0
7 [报告]
发表于 2007-03-17 19:23 |只看该作者
HI, 终于看见你在这里的贴子了.

  1.     您的第一个字段内容为:=rs.getString(1)<br>
  2.     您的第二个字段内容为:=rs.getString(2) <br>
复制代码

这两句原来就是这样的吗?

3楼的程序没有错误就不错了,可能是你的数据库确实没有数据.

你可以在代码中间打上点儿东西看看运行情况. 像C一样.

如:

  1.                                 out.print("输出数据库内容:<br>");
  2.                                 while (rs.next())
  3.                                 {
  4.                                     out.print("您的第一个字段内容为" + rs.getString(1) + "<br>");
  5.                                     out.print("您的第二个字段内容为" + rs.getString(2) + "<br>");
  6.                                 }
  7.                                 out.print("输出完数据库内容了.");
复制代码


如果我加的那两句能打出来, 说明没查到数据.

论坛徽章:
0
8 [报告]
发表于 2007-03-18 14:47 |只看该作者
原帖由 chouy 于 2007-3-17 19:23 发表
HI, 终于看见你在这里的贴子了.

  1.     您的第一个字段内容为:=rs.getString(1)<br>
  2.     您的第二个字段内容为:=rs.getString(2) <br>
复制代码

这两句原来就是这样的吗?

3楼的 ...




我把你的这段加上去,也是什么都没返回啊?
还有的SQL server没升级到SQL 4只是升级到sp3a,不知道可不可以。

论坛徽章:
0
9 [报告]
发表于 2007-03-19 13:28 |只看该作者
我把你的这段加上去,也是什么都没返回啊?
还有的SQL server没升级到SQL 4只是升级到sp3a,不知道可不可以。


你可以先写个普通的应用程序, 看看能不能正常取到数据, 如果不能, 那么你必须更新 sp4 补丁.

论坛徽章:
0
10 [报告]
发表于 2007-03-19 16:44 |只看该作者
建议用2005,下面是用2005测试了一下.
package test;

import java.sql.*;
import java.util.*;

class One {
    String url = "jdbc:sqlserver://127.0.0.1:1433;databaseName=test";
    String user = "sa";
    String password = "8";
    Connection conn;
    Statement stmt;
    ResultSet rs = null;
    public One() {
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").
                    newInstance();

            conn = DriverManager.getConnection(url, user, password);
            stmt = conn.createStatement();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    public ResultSet exceuteQuery(String sql) {
        rs = null;
        try {
            rs = stmt.executeQuery(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return rs;
    }

    public static void main(String[] args) {
        ResultSet rs;
        One o = new One();
        rs = o.exceuteQuery(
                "SELECT [userid],[cusid] FROM [test].[dbo].[cus_user]");
        try {
            while (rs.next()) {
                System.out.println("您的第一个字段内容为:" + rs.getString(1));
                System.out.println(" 您的第二个字段内容为:" + rs.getString(2));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP