当前位置: 代码迷 >> Java Web开发 >> asp 转成JSP 如何写?大侠们指点
  详细解决方案

asp 转成JSP 如何写?大侠们指点

热度:8136   发布时间:2016-04-10 22:37:12.0
asp 转成JSP 怎么写?大侠们指点
set conn=server.CreateObject("adodb.connection")
Conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=(local/SQLEXPRESS:1433);UID=sa;PWD=123456;DATABASE=name"
 
server.createobject("adodb.recordset")

set rs1=conn.execute("select sum(姓数字) as 姓数字,sum(名数字) as 名数字 from (select '姓数字'=数字, '名数字 '=0  from name.dbo.table1 WHERE 汉字 = '"+textXing+"'  UNION  select '姓数字'=0, '名数字'= 数字 from name.dbo.table1 WHERE 汉字='"+textMing+"' )aa" )
Dim numberOfXing=rs1("姓数字")
Dim numberOfMing=rs1("名数字")

response.Write(numberOfXing)

response.Write(numberOfMing)


rs1.close
set rs1=nothing
------解决方案--------------------
rs1 = null;
------解决方案--------------------
对着api 改吧有些东西不一样。
------解决方案--------------------
你这段代码应该是Odbc访问数据库的吧,换成Jdbc就行了。大致试着改一下,具体细节你再调试(默认给你写到一个servlet的doPost方法里,因为看你用到了HttpResponse对象):

Connection conn=null;
PreparedStatement prpst=null;
ResultSet rs=null;
Class.forName("adodb.connection");
conn=DriverManager.getConnection("这里的url你参考一下SQLOLEDB文档的格式","sa","123456");
String sql="select sum(姓数字) as 姓数字,sum(名数字) as 名数字 from (select '姓数字'=数字, '名数字 '=0  from name.dbo.table1 WHERE 汉字 = '"+textXing+"'  UNION  select '姓数字'=0, '名数字'= 数字 from name.dbo.table1 WHERE 汉字='"+textMing+"' )aa";
prpst=conn.prepareStatement(sql);
rs=prpst.executeQuery();
if(rs.next()){
Dim d=new Dim();
d.setNumberOfXing(rs.getString(1));
d.setNumberOfMing(rs.getString(2));
response.getWriter().writer(d);
}
conn.close();
prpst.close();
rs.close();

------解决方案--------------------
引用:
楼上:调试出好多ERROR,我怀疑是不是见了鬼了。asp 好好的。换成jsp就全错。
ssage Unable to compile class for JSP:

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: 16 in the jsp file: /csdnhelp.jsp
Connection cannot be resolved to a type
13:  String textXing="张";
14: String textMing="秋";
15: 
16: Connection conn=null;
17:  PreparedStatement prpst=null;
18:  ResultSet rs=null;
19:  Class.forName("adodb.connection");


An error occurred at line: 17 in the jsp file: /csdnhelp.jsp
PreparedStatement cannot be resolved to a type
14: String textMing="秋";
15: 
16: Connection conn=null;
17:  PreparedStatement prpst=null;
18:  ResultSet rs=null;
19:  Class.forName("adodb.connection");
20:  conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;","sa","105936");


An error occurred at line: 18 in the jsp file: /csdnhelp.jsp
ResultSet cannot be resolved to a type
15: 
16: Connection conn=null;
17:  PreparedStatement prpst=null;
18:  ResultSet rs=null;
19:  Class.forName("adodb.connection");
20:  conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;","sa","105936");
21:  String sql="select sum(姓数字) as 姓数字,sum(名数字) as 名数字 from (select '姓数字'=数字, '名数字 '=0  from name.dbo.table1 WHERE 汉字 = '"+textXing+"'  UNION  select '姓数字'=0, '名数字'= 数字 from name.dbo.table1 WHERE 汉字='"+textMing+"' )aa";


An error occurred at line: 20 in the jsp file: /csdnhelp.jsp
DriverManager cannot be resolved
17:  PreparedStatement prpst=null;
18:  ResultSet rs=null;
19:  Class.forName("adodb.connection");
20:  conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;","sa","105936");
21:  String sql="select sum(姓数字) as 姓数字,sum(名数字) as 名数字 from (select '姓数字'=数字, '名数字 '=0  from name.dbo.table1 WHERE 汉字 = '"+textXing+"'  UNION  select '姓数字'=0, '名数字'= 数字 from name.dbo.table1 WHERE 汉字='"+textMing+"' )aa";
22:  prpst=conn.prepareStatement(sql);
23:  rs=prpst.executeQuery();


An error occurred at line: 25 in the jsp file: /csdnhelp.jsp
Dim cannot be resolved to a type
22:  prpst=conn.prepareStatement(sql);
23:  rs=prpst.executeQuery();
24:  if(rs.next()){
25:  Dim d=new Dim();
26:  d.setNumberOfXing(rs.getString(1));
27:  d.setNumberOfMing(rs.getString(2));
28:  response.getWriter().writer(d);
  相关解决方案