易截截图软件、单文件、免安装、纯绿色、仅160KB

使用Java调用Oracle数据库的存储过程实例

一:无返回值的存储过程
1、建立存储过程
CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS
BEGIN
INSERT INTO T_TEST (I_ID,I_NAME) VALUES (PARA1, PARA2);
END TESTA;
2、相应的JAVA程序
import java.sql.*;
import java.io.OutputStream;
import java.io.Writer;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import oracle.jdbc.driver.*;
public class TestProcedureOne {
public TestProcedureOne() {
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@192.168.10.216:1521:ctbu";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
CallableStatement cstmt = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "dbname", "password");
CallableStatement proc = null;
proc = conn.prepareCall("{ call dbname.TESTA(?,?) }");
proc.setString(1, "100");
proc.setString(2, "TestOne");
proc.execute();
}
catch (SQLException ex2) {
ex2.printStackTrace();
}
catch (Exception ex2) {
ex2.printStackTrace();
}
finally{
try {
if(rs != null){
rs.close();
if(stmt!=null){
stmt.close();
}
if(conn!=null){
conn.close();
}
}
}
catch (SQLException ex1) {
}
}
}
}
二:有返回值的存储过程(非列表)
1、存储过程为
CREATE OR REPLACE PROCEDURE TESTB(PARA1 IN VARCHAR2,PARA2 OUT VARCHAR2) AS
BEGIN
SELECT INTO PARA2 from TESTTB WHERE I_ID= PARA1;
END TESTB;
2、JAVA代码
public class TestProcedureTWO {
public TestProcedureTWO() {
}
public static void main(String[] args ){
String driver = "oracle.jdbc.driver.OracleDriver";
String strUrl = "jdbc:oracle:thin:@192.168.10.216:1521:ctbu";
Statement stmt = null;
ResultSet rs = null;
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(strUrl, "dbname", "password");
CallableStatement proc = null;
proc = conn.prepareCall("{ call HYQ.TESTB(?,?) }");
proc.setString(1, "100");
proc.registerOutParameter(2, Types.VARCHAR);
proc


相关文档:

SQL SERVER数据库快速转ORACLE实战

操作步骤如下,供参考。
 数据库转型工作涉及的工作事项分析:表,表数据,索引,外键约束,字段默认值。
存储过程、函数、触发器、视图等由于语法存在差异,只能自行改写处理。
 
(一)在MS SQL SERVER服务器端的准备工作。
1).创建关于表、视图、主键、索引、字段字典、默认值约束的对象视图。以方便下一步 ......

java基础面试题总结

1.局部变量在使用的时候必须已经被初始化
2.byte b=2,e=3
   byte c=b+c;   会编译不通过,应为b+c会自动 类型提升位int 如果想得到 byte c 必须强制转型        byte c=(byte)b+c;         
3.f ......

使用Java等比例缩放图像!

 缩放图像的基本原理是创建一个目标大小的画布,然后读取源图像,并将该图像绘制这个画布上。为了使程序通用,源图像和缩放后的目标图像应用分别使用 InputStream和OutputStream来表示,代码如下:
     public   static   void  scaleImage(InputStream imgInputStrea ......

由JAVA参数传递引发的对引用的思考

今天在编写一个快速排序函数,其中想用一个在C++中类似swap功能的函数,结果引发了一系列的问题。
下面是在网上搜到的代码,并在我的本地机上作了运行。   
    
  public   class   ParamTest  
  {  
  public   static   void ......

java 正则表达式

引:Android 的API中有个 java.util.regex 包,其中有两个类,一个接口和一个异常:
Interfaces
MatchResult
Holds the results of a successful match of a Pattern against a given string.
Classes
Matcher
Provides a means of matching regular expressions against a given input,
finding occurrences of ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号