当前位置: 代码迷 >> Java Web开发 >> 存储过程传参有关问题
  详细解决方案

存储过程传参有关问题

热度:7991   发布时间:2013-02-25 21:20:33.0
存储过程传参问题?
我做了一个JSP页面,当.execute("exec yu @id='" + ID + "', @dllname='"+ dllname + "'");这句直接赋值没有问题,但传参没有结果,是不是哪里写得不对呀,请指教,谢谢!
Java code
<%@ page language="java" contentType="text/html; charset=gb2312"     pageEncoding="gb2312"%>  <%@ page import="java.sql.Connection"%>  <%@ page import="java.sql.DriverManager"%>  <%@ page import="java.sql.Statement"%>  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  <html>      <head>          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />          <title>执行打印记录的信息</title>      </head>      <%          //获取当前页编号ID的值          String ID = (String) request.getParameter("ID");        String dllname= (String) request.getParameter("dllname");        //定义您的驱动器及数据库的URL、用户名和密码             String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";          String url = "jdbc:sqlserver://192.168.0.2:1433;databaseName=klrq";          String username = "SA";          String password = "GUOOUG";          Connection con = null;          try {              // 创建数据库连接                Class.forName(driverName);              con = DriverManager.getConnection(url, username, password);               // 创建数据库执行语句                Statement sqlstatement = con.createStatement();               // 将对应编号ID是否打印字段改为true                      sqlstatement                      .execute("exec yu @id='" + ID + "', @dllname='"+ dllname + "'");              con.close();           } catch (Exception e) {              e.printStackTrace();          }      %>      <body>      </body>  </html>  


------解决方案--------------------------------------------------------
你直接拼接成一段store procedure 语句,在里面执行吧,从declare ..begin ...end
另外
http://localhost:8080/WebReport/print1.jsp?id=1&dllname='2011-03-05' 访问地址,这样写可以吗?
不行。要去掉单引号
  相关解决方案