JSP数据库存储过程操作JDBC-ODBC-MSSQL

http://www.sina.com.cn 2006年09月30日 11:22  ChinaByte

  功能:JSP数据库操作例程 - 存储过程 - JDBC-ODBC - SQL Server

  SQL Server的存储过程如下:

  create procedure sp_jsptest

  @yourname varchar(50),

  @myname varchar(50) output

  as

  select "您好,"+@yourname+",非常高兴认识您,^_^"

  set @myname = "何志强"

  return 1

  go

  --%>

  <%@ page contentType="text/html;charset=gb2312"%>

  <%

  //变量声明

  java.lang.String strName; //姓名

  //取得用户输入的数据

  strName = request.getParameter("name");

  if(strName==null){//用户没有输入姓名

  %>

  您尊姓大名:

  <%

  }

  else{

  //对用户输入的数据作必要的字符编码转换

  strName = new java.lang.String(strName.getBytes("iso-8859-1"));

  //变量声明

  java.sql.Connection sqlCon; //数据库连接对象

  java.sql.CallableStatement sqlStmt; //可调用语句对象

  java.sql.ResultSet sqlRst; //结果集对象

  java.lang.String strCon; //数据库连接字符串

  java.lang.String strSQL; //SQL语句

  java.lang.String strWelcome; //欢迎词

  java.lang.String strMyName; //我的姓名

  int intReturn; //返回值

  //装载JDBC-ODBC驱动程序

  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

  //设置数据库连接字符串

  strCon = "jdbc:odbc:jspdemo";

  //连接数据库

  sqlCon = java.sql.DriverManager.getConnection(strCon,"sa","");

  //准备SQL语句

  strSQL = "{? = call sp_jsptest(?,?)}";

  //准备可调用语句对象

  sqlStmt = sqlCon.prepareCall(strSQL);

  //设置输入参数

  sqlStmt.setString(2,strName);

  //登记输出参数

  sqlStmt.registerOutParameter(1,java.sql.Types.INTEGER);

  sqlStmt.registerOutParameter(3,java.sql.Types.VARCHAR);

  //执行该存储过程并返回结果集

  sqlRst = sqlStmt.executeQuery();

  //获取来自结果集中的数据

  sqlRst.next();

  strWelcome = sqlRst.getString(1);

  //获取输出参数的值

  strMyName = sqlStmt.getString(3);

  //获取返回值

  intReturn = sqlStmt.getInt(1);

  //关闭记录集

  sqlRst.close();

  //关闭可调用语句对象

  sqlStmt.close();

  //关闭数据库对象

  sqlCon.close();

  %>

  <%=strWelcome%>

  我是<%=strMyName%>

  返回值是<%=intReturn%>

  <%

  }

  %>

  --

Powered By Google
不支持Flash
·城市对话改革30年 ·新浪城市同心联动 ·诚招合作伙伴 ·企业邮箱畅通无阻
不支持Flash