.NET 3/3.5(C#)プログラミングの新機能です。それはあなたのために簡単かもしれませんが、私のためではありません。 私はC#アプリケーションからコマンドを使用してストアドプロシージャを実行するタスクを持っており、3つの異なるデータテーブルを返します。procは既にSQL 2005で実行されていますが、C#でデータを取得する方法を知りたい。結果セットが複数のデータテーブルを返す場合、結果セットからデータテーブルを処理する方法をC#コードで正確に必要とします。 ありがとうC#オブジェクトとコード例
答えて
SqlDataAdapter.Fill()メソッドを使用してDataSetを入力できます。
ds.Tables[0].Rows[0]["Column X"];
ds.Tables[1].Rows[0]["Column Y"];
ds.Tables[2].Rows[0]["Column Z"];
...
それとも、あなたは(あなたは、前方のみの形式でデータを処理したい場合は高速です)SqlDataReaderを使用することができます - この方法は、あなたがこれを使用して複数の結果テーブルにアクセスすることができます。最初の結果セットのレコードを読み込むには、while
ループを反復してSqlDataReader.Read()メソッドを呼び出すことができます。
while(reader.Read())
{
//Process the first result set here.
}
次の結果セットをフェッチするには、SqlDataReader.NextResult()メソッドを呼び出します。
reader.NextResult();
while(reader.Read())
{
//Process the next result set here.
}
あなたはすでにデータセットを持っていますか?もしそうなら、それは簡単です。 Tables
プロパティを使用して特定のテーブルにアクセスします。
DataTable users = dataSet.Tables["users"];
これが意味することではない場合は、質問を明確にしてください。
私は、ADO.NETを使用してSQLクエリから返された複数の結果セットを処理する方法を尋ねることを意味します。 – Kirtan
しかし、私たちがさらに手伝ってくれるかどうかを知る必要があります。既にDataSetを持っていれば、DataReaderをどうすればいいのかを説明することができます。 –
Hmmm。あなたが正しいです。しかし、私はその質問から推論したことに基づいて答えました。私は彼が彼のアプリで複数の結果セットを取得し、それらを使用する方法に固執していたと思った。私は彼にこれを行うことができる2つの方法を示しました。そしてbtw、彼はdatatable /結果セットの間で混乱している、彼は実際に結果セットにそれを参照する必要があります。 – Kirtan
使用のNextResultはExecuteReaderの
SqlDataReader reader = command.ExecuteReader();
while (reader.HasRows)
{
Console.WriteLine("\t{0}\t{1}", reader.GetName(0),reader.GetName(1));
while (reader.Read())
{
Console.WriteLine("\t{0}\t{1}", reader.GetInt32(0),
reader.GetString(1));
}
reader.NextResult();
}
Dim db As Database = DatabaseFactory.CreateDatabase(ApplicationStringResource.DbConn)
Dim cmd As DbCommand = db.GetStoredProcCommand(DbStoreProc.GetFeeCodeStoreProc)
Dim sReader As SqlDataReader = db.ExecuteReader(cmd)
Try
While sReader.Read()
Dim feeCode As New FeeCode()
With feeCode
.FeeCode = sReader("FeeCode")
.Description = sReader("Description")
End With
feeCodeList.Add(feeCode)
End While
Catch ex As Exception
Throw New Exception(ex.Message)
Finally
sReader.Close()
End Try
Return feeCodeList
の場合には、私はMSエンタープライズライブラリを使用して、上記の私は、SqlDataReaderのを介してデータを取得するために使用したコードブロックです。
それはC#ではないです。質問者はVB.NetではなくC#でそれを望んでいます。 –
- 1. C++のコードとオブジェクトはC?
- 2. C/C++コードでフラッタービルド - 例?
- 3. C#コードとC++コードの間のオブジェクトの共有
- 4. バスエラー:10. Cコード、mallocの例
- 5. C:コードの重複の例
- 6. C#例外ダイナミック派生オブジェクト
- 7. C++例外処理:例外をオブジェクトとして定義する
- 8. C++例外コードを知る例外コードの検索
- 9. コードの前にオブジェクトによってスローされたキャッチ例外... c#
- 10. Java例外とC++例外
- 11. 浮動小数点例外Cコード
- 12. WatsonスピーチからテキストライブストリームC#コード例
- 13. Android NDK C++コードで例外をキャッチ
- 14. C++のコード例のリソースを参照
- 15. コード実行時のMySql + C#例外
- 16. C#でジェネリックのオブジェクトをキャスト - InvalidCast例外
- 17. C++の例外オブジェクトの範囲
- 18. とNullReferenceException:上記の例では、オブジェクトのC#
- 19. C:例として
- 20. C++例外とシグナルハンドラ
- 21. Scrapy process_linksとprocess_requestのコード例
- 22. のLinux - > C++コード:オブジェクト直列
- 23. オブジェクト指向プログラミングC++ dllコード::ブロック
- 24. ローカル静的オブジェクトと例外
- 25. C++の例外処理でCコードをラップするには?
- 26. 例Objective-CプロジェクトObjective-C++コードを呼び出す
- 27. C++パフォーマンスの例と演算子の例
- 28. C#WCFリストタイプをオブジェクトとして返すときに例外が発生する
- 29. C配列とコード
- 30. Arduino ESP8266とC++コード
これまでにあなたの試行を投稿することをお勧めします... –