ADO.NETを使用してストアドプロシージャにテーブル値パラメータを渡す方法は?
質問する
34674 次
5 に答える
78
SQL Server でタイプを作成します。
CREATE TYPE [dbo].[MyDataType] As Table ( ID INT, Name NVARCHAR(50) )
作成手順:
CREATE PROCEDURE [dbo].[MyProcedure] ( @myData As [dbo].[MyDataType] Readonly ) AS BEGIN SELECT * FROM @myData END
C# で DataTable を作成します。
DataTable myDataTable = new DataTable("MyDataType"); myDataTable.Columns.Add("Name", typeof(string)); myDataTable.Columns.Add("Id", typeof(Int32)); myDataTable.Rows.Add("XYZ", 1); myDataTable.Rows.Add("ABC", 2);
SQL パラメータの作成:
SqlParameter parameter = new SqlParameter(); parameter.ParameterName = "@myData"; parameter.SqlDbType = System.Data.SqlDbType.Structured; parameter.Value = myDataTable; command.Parameters.Add(parameter);
于 2012-05-02T07:49:45.917 に答える
0
この質問はHow to pass table value parameters to stored procedure from .net codeの複製です。DataTable
aまたは anの使用を示す例については、その質問を参照してくださいIEnumerable<SqlDataRecord>
。
于 2012-05-28T05:16:28.893 に答える