何が間違っていますか? LINQを使用して、自分のDataTableをストアドプロシージャに渡そうとしています。以下は私のコードです。ASP.NETはLINQを使用してprocを呼び出し、DataTableを渡します
var sqlCommand = new System.Data.SqlClient.SqlCommand { CommandType = System.Data.CommandType.StoredProcedure, CommandText = "UserIdList" }; var dataTable = new System.Data.DataTable("IdList"); dataTable.Columns.Add("AttributeIds", typeof(Int32)); dataTable.Rows.Add(26); dataTable.Rows.Add(40); dataTable.Rows.Add(41); dataTable.Rows.Add(45); dataTable.Rows.Add(78); dataTable.Rows.Add(33); dataTable.Rows.Add(36); //The parameter for the SP must be of SqlDbType.Structured var parameter = new System.Data.SqlClient.SqlParameter { ParameterName = "@AttributeIds", SqlDbType = System.Data.SqlDbType.Structured, TypeName = "ecs.IDList", Value = dataTable, }; sqlCommand.Parameters.Add(parameter); var user = myDC.DC.ExecuteQuery("exec ecs.udpUserAttributeDetails {0}, {1}", sqlCommand, userId).SingleOrDefault();
あなたが得ているエラーは何ですか? – InSane
@InSane - エラーmsg is:クエリパラメータの型が 'System.Data.SqlClient.SqlCommand'であることはできません。 – Mark
'myDC.DC'オブジェクトのデータ型は何ですか? – InSane