type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 32 in the jsp file: /print1.jsp Invalid character constant 29: 30: // 将对应编号ID是否打印字段改为true 31: sqlstatement 32: .execute('exec yu @id=''' + CAST(ID AS VARCHAR(10)) + ''' , @dllname=''' + dllname + ''''); 33: con.close(); 34: 35: } catch (Exception e) { Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85) org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415) org.apache.jasper.compiler.Compiler.compile(Compiler.java:308) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:273) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
你这样写会报错的,不是要用单点和双点结合用么,你怎么都是单点 '"不是要用这种格式吗? type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 32 in the jsp file: /print1.jsp Invalid character constant 29: 30: // 将对应编号ID是否打印字段改为true 31: sqlstatement 32: .execute('exec yu @id='''+id+''',@dllname='''+dllname+''''); 33: con.close(); 34: 35: } catch (Exception e) {
EXECUTE('exec yu @id=''' + CAST(id AS VARCHAR(10)) + ''' , @dllname=''' + dllname + '''')
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 32 in the jsp file: /print1.jsp
Invalid character constant
29:
30: // 将对应编号ID是否打印字段改为true
31: sqlstatement
32: .execute('exec yu @id=''' + CAST(ID AS VARCHAR(10)) + ''' , @dllname=''' + dllname + '''');
33: con.close();
34:
35: } catch (Exception e) {
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.
execute('exec yu @id=' +''''+LTRIM( id )+ ''''+,
'@dllname='+''''+ dllname + '''');
declare @Sql_Sql nvarchar(2000) -- Sql执行语句 【Nvarchar】类型很重要set @Sql_Sql='Select @Sql_Return=Sum(AddInVentory) from Fm_MonthEnd'EXEC sp_executesql @Sql_Sql,N'@Sql_Return int output',@Sql_Return OUTPUT --【Nvarchar】类型很重要
还是不行呀
<%@ 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=' +''''+LTRIM( id )+ ''''+,
'@dllname='+''''+ dllname + '''');
con.close();
} catch (Exception e) {
e.printStackTrace();
}
%>
<body>
</body>
</html>
~~~~~~~~~~~~~~~~~~~~~~~~~~~
exec yu @id='ID',@dllname='DLLNAME'
你这样写会报错的,不是要用单点和双点结合用么,你怎么都是单点 '"不是要用这种格式吗?
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 32 in the jsp file: /print1.jsp
Invalid character constant
29:
30: // 将对应编号ID是否打印字段改为true
31: sqlstatement
32: .execute('exec yu @id='''+id+''',@dllname='''+dllname+'''');
33: con.close();
34:
35: } catch (Exception e) {
execute('exec yu @id=' + ltrim(@id) + ' , @dllname='''+ @dllname + '''');
exec yu @id='ID',@dllname='DLLNAME'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(" exec yu @id=' "+ID+" ',@dllname=' "+DLLNAME+" ' ")