php與mssql儲存過程的返回值
最近有個專案需要用php呼叫mssql的儲存過程,使用中發現一個問題,無論如何取不到儲存過程的返回值。
查了不少資料才找到原因。寫一下找到的解決辦法,給有需要的人看看。
先寫一個測試用的mssql儲存過程Test
沒有任何輸入和輸出,只有一個返回值9
原先的程式碼
發現對$rs如何操作都得不到返回值‘9’,
查了不少資料發現SQL有個內建關鍵詞RETVAL,型別是INT4,用來輸出返回值。
所以把程式改成
這樣就可以得到正確的返回值了。
:)給以後遇到困惑的人看看。
mssql_execute($sql);
上面是我呼叫的MMSQL 在儲存過中用通過呼叫的輸入引數進行資料處理; 現在已經能對資料進行處理 但在儲存過程中會通過return返回1或者0 我不知道如何接受,我根據MYSQL看了幾個函式,但都不行 有用過的請賜教 謝謝!
===========================================================
經過我查詢相關資料和MSSQL的30個函式,關於如何獲取MSSQL儲存過程返回值的方法我已經找到 ,只是目前還無法將返回的結果集找到;
下面我將找到的相關資料貼下來,希望對以後再遇到此類問題的朋友能夠提供一個好的建議;
在上面的這四個通過MSSQL_bind()函式來新增或者呼叫儲存過程的引數,其中可以看到第四個引數在前連個為FALSE,後兩個為TRUE; 當為TRUE時 引數為輸出引數;預設為FALSE;
這個時候關鍵要看的是MSSQL_EXECUTE函式的第二個引數,當它為TRUE時,,顯示的是返回引數,也就是你在儲存過程中定義的輸出引數或者預設的RETURN 引數;
當引數為FALSE時 將輸出結果集;;這一點比較重要;
不過如何正確的將結果集獲取到我還沒弄正確 ,方法出來後我會將方法貼出來供大家參考;
相關推薦
php與mssql儲存過程的返回值
最近有個專案需要用php呼叫mssql的儲存過程,使用中發現一個問題,無論如何取不到儲存過程的返回值。查了不少資料才找到原因。寫一下找到的解決辦法,給有需要的人看看。先寫一個測試用的mssql儲存過程Test ALTER procedure Test as retu
從MSSQL儲存過程返回值
儲存過程: CREATE PROCEDURE UserSelect@account varchar(50),@aa int output ASset @aa=5GO C#程式: CmdObj.Parameters["@aa"].Direction = ParameterDirection.Output;Cmd
SQL Server 儲存過程返回值的幾種方式
獲得儲存過程的返回值–通過查詢分析器獲得 (1)不帶任何引數的儲存過程(儲存過程語句中含有return) —建立儲存過程 CREATE PROCEDURE testReturn AS return 145 GO —執行儲存過程 DECLARE @RC int exec @RC=
SQL Server 儲存過程返回值彙總
獲得儲存過程的返回值–通過查詢分析器獲得 (1)不帶任何引數的儲存過程(儲存過程語句中含有return) —建立儲存過程 CREATE PROCEDURE testReturn AS return 145 GO —執行儲存過程 DECLARE @RC in
SqlServer獲取儲存過程返回值的例項
public static int User_Add(User us) { int iRet; SqlConnection conn = new SqlConnection(Conn_Str); SqlCommand cmd = new Sq
php呼叫MSSQL儲存過程的方法
建立一個MSSQL儲存過程: CREATE PROCEDURE dbo.P__Test_GetData( @UserId int, @UserName nvarchar(100) output )A
oracle儲存過程返回值
oracle的儲存過程只要返回的值是指定的型別就行了 有的時候我們會看到這種寫法的儲存過程 create or replace function func_add(num1 in number,num2 in number) return number is r numbe
sql server 呼叫儲存過程返回值
1.OUPUT引數返回值 CREATE PROCEDURE [dbo].[nb_order_insert]( @o_buyerid int , @o_id bigint OUTPUT )AS BEGIN SET NOCOUNT ON; BEGIN INSERT
儲存過程 返回值 procedure return values
儲存過程有三種返回: 1. 用return返回int型資料 2. 用返回引數返回結果,可以返回各種資料型別(通過遊標來迴圈查詢結果每一行) 3. 直接在儲存過程中用select返回結果集,可以是任意的select語句,這意味著是任意的返回結果集 例子:1
Java程式碼獲取oracle儲存過程返回值
package cn.itcast.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.
再論c#獲取儲存過程返回值(包括SqlSugar)
其實這個問題好多年以前研究過: https://blog.csdn.net/xpnew/article/details/6909902 最近因為需要統計日結月結,給同事寫了一套呼叫儲存過程的程式碼。同時因為專案ORM層是通過SqlSugar實現的,就又研究了一下SqlSugar呼叫儲存過程
.net中使用儲存過程output值和返回值
資料庫中使用output值和return值: ------------------------------------------------------- --數獲儲存過程中的OUTPUT引數和返回值獲取 ---------------------------------
使用oracle function和儲存過程返回單個值
1 function 返回值 function get_link_coalingid(p_id in varchar2 ) return varchar2 is r_lid varchar2(200); begin
mysql使用儲存過程返回多個值
可以使用OUT、INOUT引數型別讓儲存過程返回多個結果值,儲存函式不能勝任,因為只能返回一個值。比如統計student資料表裡男生和女生人數並通過它的引數返回這兩個計數值,讓呼叫者可以訪問它們: delimiter $$ create procedure count_st
SpringMVC中的@requestMapping問題與controller方法的返回值問題
end pin Coding mage 返回 ren response font object @requestMapping 1、url映射 定義controller方法對應的url,進行處理器映射使用 @RequestMapping("/items") pu
C#呼叫ORACLE儲存過程返回結果集
Oracle中scott使用者下建立儲存過程: (注:從9i開始有了sys_refcursor這種型別,在以前的Oracle版本中需要使用REF CURSOR,並且還需放在一個程式包中) create or replace procedure sp_getdept (result
asp.net core 2.1 dotnet(五)EF.core Dbfirst 生成 檢視與呼叫儲存過程
1 檢視,可以直接在 Model中寫 檢視的模型 執行方式如找到一個,還沒有試過: 有關 .net core EF 的問題有一個地址: https://github.com/aspnet/EntityFra
mybaties呼叫mysql儲存過程。儲存過程返回多個select結果集。
先看需求,直接上圖 從圖中看出,需要12條普通的SELECT語句,所以就放到儲存過程中 儲存過程如下: DROP PROCEDURE IF EXISTS proc_report; DELIMITER $ CREATE PROCEDURE proc_report( OUT d_norma
寫儲存過程與呼叫儲存過程
--建立儲存過程的語法 if exists(select * from sysobjects where name='sp_selectStudent') drop procedure sp_selectStudent go create procedure sp_selectStud
mssql儲存過程-動態更新update
execute T_llj3 @pkmsg='abc'; select * from test_llj_1; delete from test_llj_1; drop proc T_llj3;