2017-03-20 1 views
0

Oracleストアドプロシージャから出力パラメータとして整数値を取得します。私のデータセットの背後にあるコードの値を取得しようとすると空が返されます。私は自分のデータベースでチェックインしました。手順はデータベース上でうまくいきます。以下は私のコードです。DataSetが空を返します

**C#.net** 


public int GetUserID(string connectionString, ref DataSet ds) 
{ 
    string provider = YORKU.Utility.Configuration.GetProvider(connstring); 
    YORKU.ADO.Common common = new YORKU.ADO.Common(provider, connstring); 
    YORKU.ADO.Parameters[] parameters = new Parameters[1]; 


     try 
     { 
      parameters[0].name = "USERID"; 
      parameters[0].type = DataType.intType; 
      parameters[0].direction = ParameterDirection.Output; 
      ds = common.ExecDataSet(CommandType.StoredProcedure, "GET_api.getUserId", parameters); 
     } 

     catch (Exception ex) 
     { 
      return -1; 
     } 

     return 1; 
    } 


**ORACLE:** 

PROCEDURE getUserId(p_userid out int) 
IS 
    UserId_ int; 
BEGIN 
SELECT GetUserId_SEQ.nextval INTO UserId_ FROM DUAL; 
p_userid := UserId_ MOD 2; 
END getUserId; 
+0

catchブロック内にブレークポイントを設定して例外をスローすることはできますか? – Win

+0

例外はスローされません。ただ空に戻ります。 –

+0

YORKU.ADO.Commonはカスタムライブラリです。私はあなたに役立つ十分な情報がないと思います。 – Win

答えて

0

私はそれを解決しました。私はパラメータにサイズを追加し、それは働いた。

関連する問題