【发布时间】:2011-05-21 15:51:25
【问题描述】:
我做错了什么? 试图将我的 DataTable 传递给使用 LINQ 的存储过程。下面是我的代码。
var sqlCommand = 新 System.Data.SqlClient.SqlCommand { CommandType = System.Data.CommandType.StoredProcedure, CommandText = "用户 ID 列表" }; 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); //SP的参数必须是SqlDbType.Structured var 参数 = 新 System.Data.SqlClient.SqlParameter { ParameterName = "@AttributeIds", SqlDbType = System.Data.SqlDbType.Structured, TypeName = "ecs.IDList", 值 = 数据表, }; sqlCommand.Parameters.Add(参数); var user = myDC.DC.ExecuteQuery("exec ecs.udpUserAttributeDetails {0}, {1}", sqlCommand, userId).SingleOrDefault();【问题讨论】:
-
你得到的错误是??
-
@InSane - 错误消息是:查询参数不能是“System.Data.SqlClient.SqlCommand”类型。
-
myDC.DC对象的数据类型是什么?
标签: asp.net linq stored-procedures datatable