0
異なるSQL Serverストアドプロシージャ(それぞれ1つの結果セットを返す)からデータセット内のデータセットにデータセットを埋めたいと思います。異なるSQL Serverストアドプロシージャを使用して同じデータセットをデータテーブルに埋め込む
私はSQLをテキスト「exec sp1; exec sp2」として渡すことを本当に望んでいません。これを行うにはどうすればよいですか?cmd.CommandType = CommandType.StoredProcedure
メソッドを使いたいですか?
SqlDataAdapter
をクリアして、再度呼び出して、sp2結果セットをロードしますか?それはテーブル(0)を拭くだろうか?私はそれが簡単なそれをキープ(1)
cnn.Open()
cmdSQL1 = New SqlCommand
cmdSQL1.Connection = cnn
cmdSQL1.CommandType = CommandType.StoredProcedure
cmdSQL1.CommandText = ("sp1")
cmdSQL2 = New SqlCommand
cmdSQL2.Connection = cnn
cmdSQL2.CommandType = CommandType.StoredProcedure
cmdSQL2.CommandText = ("sp2")
Dim da As New SqlDataAdapter(cmdSQL1)
da.Fill(ds)
編集
da.Dispose()
da.SelectCommand = cmdSQL2
da.Fill(ds, "tab2")
dt = ds.Tables(0)
dt2 = ds.Tables(1)
なぜそれを試してみてください。ブレークポイントを設定し、そのコードが完了したときに 'ds'のテーブル数を調べます。 'DataAdapter.Fill()'メソッドはオーバーロードされています。 'Fill(ds、string)'を使うと、デスティネーションテーブルを作成して名前を付けることができます。 – Plutonix
*表示されているコードは、sp1/cmdSQL1の1つのテーブル(テーブル(0))のみを満たしています。 2番目は決して使用されません。私は "..."はあなたが他の人にも同じことをしたと思った。 – Plutonix
私は "tab2"のように名前を付けることなく、次のテーブルを埋める方法はありますか?nextresult()のようなものがありますか?または私はこれに間違った方法で近づいていますか? –