java呼叫儲存過程無法取得返回引數
環境:資料庫sql server2005,jdk1.6 ,myeclipse,驅動jdts1.2.2
執行以下程式碼,報錯:
報錯資訊為:
java.sql.SQLException: Output parameters have not yet been processed. Call getMoreResults().
at net.sourceforge.jtds.jdbc.ParamInfo.getOutValue(ParamInfo.java:159)
at net.sourceforge.jtds.jdbc.JtdsCallableStatement.getOutputValue(JtdsCallableStatement.java:116)
at net.sourceforge.jtds.jdbc.JtdsCallableStatement.getString(JtdsCallableStatement.java:310)
報錯資訊說得很明白,就是輸出結果引數未處理,必須呼叫getMoreResults()方法以判斷是否還有結果集。
然後修改程式碼,問題解決:
其中改為以下程式碼也不報錯:
相關推薦
java呼叫儲存過程無法取得返回引數
環境:資料庫sql server2005,jdk1.6 ,myeclipse,驅動jdts1.2.2 執行以下程式碼,報錯: String querySQL = "{?=call p_sys_manager_csReport(?,?,?,?,?)}"; cstmt = con
JAVA呼叫儲存過程--返回結果集(傳入基本型別引數,返回基本型別和結果集)
1 建立儲存過程 create or replace procedure examplepro( inparm1 in varchar2,inparm2 in number,outparm1 out number,result out type_cursor) ...
java呼叫儲存過程 返回結果集
Java程式碼呼叫儲存過程:public Map<String, Object> rankInfo(Map<String, Object> rankMap,String start,String end, String userId,String o
Mybits呼叫儲存過程和函式返回遊標,parameterType值必須為java.util.Map,由於它會把返回的遊標放在裡面
<resultMap id="cursorMap" type="com.vcare.model.Photo"> <result column="AD_PIC_ID" property="photoId" jdbcType="INTEGER"/>
執行儲存過程時,返回引數示例程式碼
//引數 SqlParameter[] fparams = new SqlParameter[7]; fparams[0] = new SqlParameter("@ID", ID); fparams[
oracle呼叫儲存過程和函式返回結果集
在程式開發中,常用到返回結果集的儲存過程,這個在MySQL和sql server 裡比較好處理,直接返回查詢結果就可以了,但在Oracle裡面 要 out 出去,就多了一個步驟,對於不熟悉的兄弟們還得出上一頭汗:),這裡我簡單介紹一下,以供參考, 1 定義包
java呼叫儲存過程
{Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Stringurl="jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs";Connectionconn=Drive
VB6下的ado Command呼叫儲存過程,讀取返回值
最近在給老程式(VB6+SQL2005+水晶報表)新增備份、恢復資料庫功能。真心是手動備份資料庫太勞累,且顯得不專業,呵呵。呼叫sp_addumpdevice過程時,發生這SP有返回值,度娘了一圈,很少有提出儲存過程返回值如何在ADO Command中如何引用。 瞎寫的程式
SpringMvc呼叫儲存過程,並返回儲存過程返還的資料
java後端很多時候都需要和資料庫進行互動,並返回業務資料。一般情況下都會採用執行SQL的方式來進行互動,但有些特別的場景時,也可以直接利用儲存過程返回資料。儲存過程返回資料的好處是隻需要一個呼叫,即可根據不同的引數返回不同的業務資料,這些業務資料有可能列名完全不一樣。實現如
使用java呼叫儲存過程的通用封裝
對於在java中呼叫儲存過程,我一直因為是一件比較頭疼的事情,因為各個資料庫的實現往往不相同,這樣就很難保證同一套程式在sqlserver和oracle上都能執行.儘管兩個資料庫中的儲存過程名字和引數已經基本相同,以前用spring封裝過一個,用了幾個抽象類做了簡單的設計,
mybatis呼叫儲存過程,獲取返回的遊標
將呼叫儲存過程引數放入map中,由於返回的遊標中包含很多引數,所以再寫一個resultmap與之對應,型別為hashmap。設定返回的jdbcType=CURSOR,resultMap設定為id對應的值。最後遊標中的值就輸出到list中了。程式碼如下: service層
建立儲存過程和java呼叫儲存過程
建立儲存過程--get_jobname create or replace procedure get_jobname(v_jobid in varchar2,v_jobname out varch
遊標、例外、儲存過程、儲存函式、java呼叫儲存過程、觸發器(Oracle之二)
--遊標(游標) 一般用於多行資料 語法:cursor 遊標名稱 (引數名 引數型別 ..) is select語句 --操作遊標 open 遊標名; --開啟遊標 loop fetch 遊標名
Oracle 資料庫通用類,java呼叫儲存過程。
package com.topcheer.file.excel; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.s
java中使用mybatis呼叫儲存過程,拿到返回值(單引數返回值)
service業務層呼叫dao層 注意:返回值直接從物件裡獲取 不需要拿物件接收再獲取 dao.uspGetUser(userPO);//物件封裝了儲存過程的入參和出參 count = userPO.getCount(); //count 是儲存過程的返回值 dao層介面 pu
關於sqlhelper呼叫儲存過程和獲取引數返回值
SQLHelper類給我們操作資料庫提供了便利,有些人說,SqlHelper類執行儲存過程無法獲取引數的返回值,這個認識是錯誤的。 SqlHelper類呼叫儲存過程的方法有下面類似的兩種型別:public static int ExecuteNonQuery(string connectionString,
ibatis呼叫儲存過程:返回NUMBER,對應java型別的解決辦法
我想有很多朋友會像我一樣遇到這樣的問題 首先,我們建立一個儲存過程 create or replace procedure pro_app_test( p_userid in number, p_pid out number, p_
Sql Server 儲存過程呼叫儲存過程接收輸出引數,返回值
CREATE PROCEDURE [dbo].[GetCustomers] (@rowcount INT OUTPUT) AS SELECT [CustomerID] ,[CompanyName] ,[ContactName] ,[
java中呼叫儲存過程並傳遞list集合引數的方法
sql: CREATE OR REPLACE TYPE test as object( FID NUMBER, NUM nVARCHAR2(30), TESKID NUMBER, CID NUMBER, USERCODE nVARCHAR2(100) ) CREA
asp.net 呼叫儲存過程返回引數和output引數
在日常的軟體開發中 很多的地方都會用到儲存過程 因為儲存過程的安全性和效率是很強的 但是呼叫的時候比如說刪除一條記錄 但是怎麼知道有沒有被刪除呢 這就需要返回引數或者output引數 這裡呼叫資料庫我用的是sqlhelper類 大家可以到網上找一找 這是儲存過程 cr