`
starbhhc
  • 浏览: 657990 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

DB2数据库调用存储过程的方法及实例

 
阅读更多
一、对存储过程的调用分三部分

1.连接(与数据库建立连接)

Class.forName(COM.ibm.db2.jdbc.net.DB2Driver).newInstance();

Connection con=DriverManager.getConnection(url,user,password);

2.注册输出参数

cs.registerOutParameter (3, Types.INTEGER);

3.调用存储过程:

CallableStatement cs=con.prepareCall({call store_name(参数,参数,参数)});

二、调用举例:

import java.net.URL;

import java.sql.*;

class test2

public static void main(String args[])

String url = jdbc:db2://wellhope/sample;

String user=db2admin;

String password=db2admin;

try

Class.forName(COM.ibm.db2.jdbc.net.DB2Driver).newInstance(); //与数据库建立连接

Connection con=DriverManager.getConnection(url,user,password);

checkForWarning(con.getWarnings());

DatabaseMetaData dma=con.getMetaData();

String str=This is a string;

//int hashcode=str.hashCode();

//System.out.println(Hashcode +hashcode);

//创建Statement对象,用于执行SQL语句

Statement stmt=con.createStatement();

//创建CallableStatement对象,用于执行存储过程

CallableStatement cs=con.prepareCall({call PRO_YHDL1(?,?,?)});

//注册输出参数

cs.registerOutParameter (3, Types.INTEGER);

int result = 0;

cs.setString(1,123);

cs.setString(2,123);

cs.execute();

result = cs.getInt (3);

dispResultSet(result);

cs.close();

con.close();

catch(SQLException ex)

System.out.println( * * * SQLException caught * * * );

while(ex!=null)

System.out.println(SQLState: +ex.getSQLState());

System.out.println(Message: +ex.getMessage());

System.out.println(Vendor: +ex.getErrorCode());

exex=ex.getNextException();

System.out.println();

catch(java.lang.Exception ex)

ex.printStackTrace();


三、存储过程举例:

Pro_yhdl1是一个存储过程,它的功能是从数据库表YHDL中取出PWD:



import java.sql.*;

public class Pro_yhdl1

public static void pro_yhdl1 ( String m_id,

String m_pwd,

int[] result ) throws SQLException, Exception

Connection con = DriverManager.getConnection(jdbc:default:connection);

PreparedStatement stmt = null;

ResultSet rs = null;

String sql;

String m_password=;

sql = SELECT

+ DB2ADMIN.YHDL.PWD

+ FROM

+ DB2ADMIN.YHDL

+ WHERE

+ (

+ (

+ DB2ADMIN.YHDL.ID = +m_id.trim() +

+ )

+ );

stmt = con.prepareStatement( sql );

rs = stmt.executeQuery();


while (rs.next())

m_password=rs.getString(1);

m_passwordm_password=m_password.trim();

if (rs.wasNull())

System.out.print(NULL);

else

System.out.print(m_password);

result[0] =1;

else

result[0] =0;


if (rs != null) rs.close();

if (stmt != null) stmt.close();

if (con != null) con.close();
分享到:
评论

相关推荐

    db2 存储过程语法与实例

    3. **调用存储过程** 调用已创建的存储过程如下: ```sql CALL square(5, @square_result); SELECT @square_result; ``` 在这里,我们传入5作为输入参数,并将结果存储在一个变量中,然后查询这个变量的值。 ...

    db2 存储过程实例

    三、调用存储过程 调用DB2存储过程,使用CALL语句: ```sql CALL GET_MAX_EMPLOYEE_ID(@max_emp); ``` 在这里,@max_emp是一个变量,用于接收存储过程的输出结果。 四、存储过程的优点 1. 提高性能:存储过程在...

    DB2数据库用户手册

    - **如果显示调用存储过程时传null值要注意**:在调用存储过程时传递NULL值时,需要特别注意,因为这可能会导致意料之外的行为。 #### 四、DB2编程性能注意 - **大数据的导表的使用(export,load,import)**:在处理...

    DB2数据库经验教训

    - **存储过程的相互调用**:存储过程之间可以相互调用,但在设计时应注意避免死循环,并确保调用链清晰。 ### 性能优化 - **大数据导表的使用**:在处理大量数据时,使用`EXPORT`, `LOAD`, `IMPORT`命令可以显著...

    DB2存储过程入门实例

    DB2存储过程是数据库管理中一种强大的编程工具,它允许用户在数据库级别封装复杂的SQL语句和控制流...通过本入门实例文档,读者将能够了解DB2存储过程的基本概念、创建和调用方法,为进一步的数据库编程打下坚实基础。

    DB2数据库帮助类,包含IBM.Data.DB2.DLL文件

    总的来说,"DB2数据库帮助类"是为了简化与DB2数据库的交互而创建的一系列辅助方法的集合,它通常会包裹对`IBM.Data.DB2.DLL`的调用,提供更友好的API供其他部分代码使用。DEMO文件可能是包含了一个简单的C#示例项目...

    C# oledb 连接DB2数据库实例(源代码)

    此外,对于更复杂的数据库操作,如事务处理、参数化查询或存储过程调用,你可以进一步扩展这个基础模板。例如,使用`OleDbCommand.ExecuteNonQuery()`执行更新、插入或删除操作,或者使用`OleDbCommand....

    DB2存储过程语法大全

    当用户定义一个存储过程时,它会通过`CREATE PROCEDURE`语句注册到DB2数据库的`SYSCAT.ROUTINES`表中,这使得存储过程成为数据库的一部分,可以被多次调用而不需重新编译。 #### 为何使用存储过程? 1. **减少网络...

    C#操作DB2数据库类

    总结,使用C#操作IBM DB2数据库涉及的关键知识点包括:数据库连接、SQL命令执行、数据读取、参数化查询、存储过程调用、事务处理以及数据适配器和数据集的使用。通过`IBM.Data.DB2.dll`和`IBM.Data.Application...

    db2数据库入门教程(官方中文版)

    实验 #1 安装DB2 Express-C,创建 SAMPLE数据库........................................................32 第 4章 – DB2的应用环境............................................................................

    DB2存储过程培训200908

    DB2存储过程是数据库管理系统DB2中的一个重要特性,它允许用户编写包含一组SQL语句的程序,这些程序可以在需要时执行,以完成特定的数据...对于开发、维护和优化DB2数据库系统的人员来说,这是一份非常宝贵的学习资源。

    window db2数据库备份Bat脚本

    这篇博客“window db2数据库备份Bat脚本”可能详细讲解了如何利用批处理脚本来实现DB2数据库的备份过程。 DB2数据库备份主要涉及以下几个知识点: 1. **备份类型**:DB2支持全量备份和增量备份。全量备份会复制...

    DB2存储过程-基础教程

    DB2存储过程是一组为了完成特定功能的SQL语句集合,通过存储在数据库中,可被应用程序或其他存储过程调用。DB2存储过程使用SQL Procedure Language (SQLPL),这是SQL Persistent Stored Module (PSM) 标准的一个子集...

    DB2使用手册.zip

    2. **过程执行**:在SQL语句中调用存储过程,以及如何处理过程中的异常。 3. **存储过程的修改与删除**:如何更新或删除已存在的存储过程。 4. **游标和循环**:在存储过程中使用游标进行逐行处理,以及如何构建嵌套...

    DB2 V8数据库基础 V1.0.20060426.doc

    - **7.5 发布存储过程**:发布存储过程供其他用户或应用程序调用。 - **7.6 行长度、列数以及每页行数在表空间中的限制**:了解表空间的各种限制。 - **7.7 编译SQL语句时出现SQL0101N错误**:解决SQL编译错误。 - *...

    存储过程db2存储过程

    - **Java数据库链接 (JDBC API)**:允许Java应用程序和Applet通过标准的接口来访问DB2数据库。 - **Microsoft Visual Basic和Visual C++应用程序**:支持使用**数据存取对象 (DAO)** 和 **远程数据对象 (RDO)** 规范...

    IBM DB2 SQL存储过程

    - **创建与调用**:介绍如何创建存储过程,并通过实例演示如何在应用中调用它们。 - **优点**:提高执行效率、增强代码的复用性、简化应用程序的复杂度等。 - **案例分析**:结合Order Entry 应用程序,深入探讨存储...

    xxx商业银行DB2数据库日常管理及性能优化案例分享-原创

    在本文中,我们将深入探讨XXX商业银行在DB2数据库日常管理及性能优化方面遇到的问题和解决方案。DB2是一款广泛应用于金融行业的高性能关系型数据库管理系统,它为处理大量交易提供了可靠的平台。 首先,我们要理解...

Global site tag (gtag.js) - Google Analytics