tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルパラメータ付きのSPの実行方法
記事No4316
投稿日: 2006/09/26(Tue) 10:39
投稿者WON
いつも、ありがとうございます。

VB2005で、パラメータ付きのストアドプロシージャを実行し
DataViewを取得する方法を教えて下さい。

DataViewを取得するSQL文の実行まではOKなのですが...

コードを載せておきます

FORM側
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim vw As New System.Data.DataView
        vw = gv.GetDv(fSQL(), "SQL")
End Sub

*****************************************************
クラス
Public Class AGetDv
    'Inherits System.ComponentModel.Component

    Public Function GetDv(ByVal pSQL As String, ByVal pCmdType As String) As DataView
        
        Dim MyCn As New SqlConnection
        Dim MyCmd As New SqlCommand
        Dim MyDA As New SqlDataAdapter
        Dim MyDS As DataSet = New DataSet

        Dim strConnection As String = "Persist Security Info=True;Integrated Security=false;
        User ID=inq;Password=winq;Initial Catalog=RDDB;Data Source=SV01 "

        With MyCmd
            Select Case pCmdType
                Case "SQL"
                    .CommandType = CommandType.Text
                Case "SP"
                    .CommandType = CommandType.StoredProcedure
                Case Else
                    .CommandType = CommandType.Text
            End Select
            '*********
            .CommandText = pSQL
            .Connection = MyCn
        End With
        '**************************************************************
        Try
            MyCn.ConnectionString = strConnection
            MyCn.Open()
            MyDA.SelectCommand = MyCmd
            MyDA.Fill(MyDS)
            MyCn.Close()
            Return MyDS.Tables(0).DefaultView
        Catch ex As Exception
            If (MyCn.State = ConnectionState.Open) Then
                MyCn.Close()
            End If
        End Try
        Return Nothing
    End Function

End Class


パラメータ付きのストアドプロシージャを実行しDataViewを取得する方法を
ご教授お願いします。

[ツリー表示へ]
タイトルRe: パラメータ付きのSPの実行方法
記事No4325
投稿日: 2006/09/27(Wed) 09:18
投稿者うなまな
パラメータ付のストアドを呼び出す方法が知りたいのでしょうか?

[ツリー表示へ]
タイトルRe^2: パラメータ付きのSPの実行方法
記事No4326
投稿日: 2006/09/27(Wed) 09:52
投稿者WON
 ありがとうございます。
最初に書きましたコードで
パラメータ付のストアドを呼び出すには、どのように修正したらよいのかを
聞きたかったのです。

申し訳ありません、宜しくお願いします。

[ツリー表示へ]
タイトルRe^3: パラメータ付きのSPの実行方法
記事No4331
投稿日: 2006/09/27(Wed) 12:00
投稿者うなまな
AGetDvクラスがどにょうな物か分かりませんが、現在のGetDvメソッドで実装
するのは難しいかと思います。
引数にSqlCommandを渡してやるとか。

>  ありがとうございます。
> 最初に書きましたコードで
> パラメータ付のストアドを呼び出すには、どのように修正したらよいのかを
> 聞きたかったのです。
>
> 申し訳ありません、宜しくお願いします。

[ツリー表示へ]
タイトルRe^4: パラメータ付きのSPの実行方法
記事No4340
投稿日: 2006/09/27(Wed) 22:09
投稿者WON
すいません。

SPの実行はSqlCommandですよね

[ツリー表示へ]
タイトルRe^5: パラメータ付きのSPの実行方法
記事No4341
投稿日: 2006/09/28(Thu) 08:18
投稿者うなまな
引数付のストアドからDataViewを取得する方法が分からないという
事でしょうか?それなら、以下を参考にしてください。

Public Function GetDataView() As DataView
    Using con As New SqlConnection("接続文字列")
        Using cmd As New SqlCommand
            con.Open()
            With cmd
                .Connection = con
                .CommandType = Data.CommandType.StoredProcedure
                .CommandText = "FunctionHoge"
                .Parameters.Add(New SqlParameter("Parameter1", Data.SqlDbType.VarChar)).Value = "XXXXX"
                .Parameters.Add(New SqlParameter("Parameter2", Data.SqlDbType.VarChar)).Value = "XXXXX"
            End With
            Using da As New SqlDataAdapter(cmd)
                Using ds As New DataSet
                    da.Fill(ds)
                    Return ds.Tables(0).DefaultView
                End Using
            End Using
        End Using
    End Using
End Function

[ツリー表示へ]
タイトルRe^6: パラメータ付きのSPの実行方法
記事No4343
投稿日: 2006/09/28(Thu) 09:20
投稿者WON
  うまはなさん、最後までありがとうございました。

わからないことばかりで...

また、宜しくお願いします。

[ツリー表示へ]