JSP调用Mysql存储过程的方法和例子
2014-03-29 20:27
393 查看
JSP调用Mysql存储过程的方法和例子
方法一: Statement
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("{calldbo.GetContactFormalNames}");
while (rs.next())
{
System.out.println(rs.getString("FormalName"));
}
方法二: CallableStatement callstat = con.prepareCall("{calldbo.GetContactFormalNames}"); ResultSet rs =callstat.executeQuery();while(rs.next()){ System.out.println(rs.getString(2));
}
例子
MYSQL
DELIMITER $$
DROP PROCEDURE IF EXISTS `freewap`.`add_user` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE`add_user`(
IN name TEXT,
IN
pwd TEXT,
IN
email TEXT,
IN qq TEXT,
IN birthday DATE,
IN sex tinyint,
IN pwdquestion TEXT,
IN pwdanswer TEXT,
IN firstpwd TEXT
)
BEGIN
INSERT INTO`tbl_user`(u_name, u_pwd, u_email, u_qq, u_birthday, u_sex,u_pwdquestion, u_pwdanswer, u_firstpwd)
VALUES(name,pwd,email,qq,birthday,sex,pwdquestion,pwdanswer,firstpwd);
END $$
DELIMITER ;
JSP代码片断:
private CallableStatementcStmt = null;
//调用存储过程查询,需要返回查询结果
public ResultSet callQuery (String proc)
{
rs=null;
try{
cStmt=conn.prepareCall("CALL "+proc+";",ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=cStmt.executeQuery();
}
catch (SQLException ex)
{
System.err.println("DAO.DBBean.executeQuery()ERR :"+ex.getMessage());
}
return rs;
}
//调用存储过程更新,不需要返回
public void callUpdate (String proc)
{
rs=null;
stmt=null;
try{
System.out.println("{CALL"+proc+"}");
cStmt=conn.prepareCall("{CALL"+proc+"}");
cStmt.execute();
}
catch (SQLException ex)
{
System.err.println("DAO.DBBean.callUpdate()ERR :"+ex.getMessage());
}
}
//插入数据。添加用户,在注册时使用
public void addUser(UserBean user) throwsSQLException {
DBBean dbbean =new DBBean();
dbbean.openConn();
try
{
StringBuffer sql = newStringBuffer();
sql =
new StringBuffer("add_user(");
sql.append("'"
+ user.getU_name() + "',");
StrEncrypt
strencrypt=new StrEncrypt();
sql.append("'"
+ strencrypt.EncryptStr(user.getU_pwd()) +"',");
sql.append("'"
+ user.getU_email() + "',");
sql.append("'"
+ user.getU_qq() + "',");
sql.append("'"
+ new java.sql.Date(user.getU_birthday().getTime())+ "',");
sql.append(""
+ user.getU_sex() + ",");
sql.append("'"
+ user.getU_pwdquestion() + "',");
sql.append("'"
+ user.getU_pwdanswer() + "',");
sql.append("'"
+ user.getU_pwd() + "'");
sql.append(")");
dbbean.callUpdate(sql.toString());
}
catch (Exception sqle)
{
sqle.printStackTrace();
}
finally
{
dbbean.closeCall();
}
}
相关文章推荐
- PHP调用MYSQL存储过程方法
- JFinal调用Mysql存储过程方法
- mybatis调用mysql存储过程的例子
- Java调用MySQL存储过程并获得返回值的方法
- MySQL存储过程例子,包含事务,参数,嵌套调用,游标,循环等
- MySQL存储过程例子,包含事务,输出参数,嵌套调用
- 通过 JSTL 调用 MySQL 存储过程的例子
- mysql存储过程的调用方法
- php调用MySQL存储过程的方法集合(推荐)
- VB.NET调用MySQL存储过程并获得返回值的方法
- MySQL存储过程中的错误处理 以及mybatis调用存储过程的例子
- MySQL 存储过程带in和out参数以及PHP,PB如何调用的小例子
- php调用MySQL存储过程的方法集合
- php调用MySQL存储过程的方法集合(推荐)
- [轉]MySQL存储过程例子,包含事务,参数,嵌套调用,游标,循环等
- MySQL存储过程例子,包含事务,参数,嵌套调用,游标,循环等
- jsp调用存储过程的方法
- PHP调用MySQL存储过程并返回值的方法
- LPAD在Oracle中和 mssql以及在MySQL中的不同用法 以及调用存储过程方法
- PHP调用mysql存储过程和函数的方法