- - PR -
VB2005でストアドプロシージャを実行しアウトパラメータを取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-08-21 13:38
何度も、すいません。
VB2005でストアドプロシージャを実行しアウトパラメータを取得したいのですが 下記のコードをどのように変更するのか ご教授して頂けないでしょうか? Using MyCn As New SqlConnection("Persist Security Info=True;Integrated Security=false;User ID=nq;Password=nq;Initial Catalog=AOYDB;Data Source=Y01 ") Using MyCmd As New SqlCommand MyCn.Open() With MyCmd .Connection = MyCn .CommandType = Data.CommandType.StoredProcedure .CommandText = "ストアドプロシージャ名" .Parameters.Add(New SqlParameter("NO", Data.SqlDbType.Int)).Value = pUKENO End With Using MyDA As New SqlDataAdapter(MyCmd) Using MyDS As New DataSet MyDA.Fill(MyDS) End Using End Using End Using End Using すいません。 |
|
投稿日時: 2007-08-21 14:01
ストアドのコードがないから一般的に書くと、
コマンドパラメータに、アウトパラメータ受け取り用のパラメータを(ReturnValueかOutputタイプで)追加して、その Value プロパティから値を取得。です。 MsgBox MyCmd.Parameters("outParameterName").Value |
|
投稿日時: 2007-08-21 15:06
まるくさん、ありがとうございます。
もう少しだけお願いします。 コマンドパラメータに、アウトパラメータ受け取り用のパラメータを追加すると ありますが アウトパラメータ受け取り用は下記の用にではなく どのような指定になるのでしょうか? Parameters.Add(New SqlParameter("NO", Data.SqlDbType.Int)).Value = pUKENO 宜しくお願いします。 |
|
投稿日時: 2007-08-21 16:00
Dim param1 As New SqlParameter
param1 = sqlcmd.Parameters.Add("@ret", SqlDbType.NVarChar, 20) param1.Direction = ParameterDirection.Output param1.Value = DBNull.Value sqlrd = sqlcmd.ExecuteReader() Return Convert.ToString(param1.Value) こんな感じで使ってます あと複数の値を返すならストアドプロシージャ内で select @data1, @data2 として datasetにfillする方が簡単かも |
|
投稿日時: 2007-08-21 18:36
めだかさん、ありがとうございます。
MyCmd.Parameters.Add(New SqlParameter("CD", Data.SqlDbType.Int)).Value = 0 MyCmd.Parameters.Add(New SqlParameter("TYPE", Data.SqlDbType.Char)).Value = "I" param1 = MyCmd.Parameters.Add("NO", SqlDbType.Int) param1.Direction = ParameterDirection.Output MyCmd.Connection = MyCn rdr = MyCmd.ExecuteReader() インのパラメータが2つ、アウトのパラメータが1つなので 上記のようなコーディングになってしまいましたが なんとかできました。 |
1