我在存储过程中遇到数组参数问题。
我的代码:
var command = "DECLARE @return_value int EXEC @return_value = [dbo].[GetEmployeeData] @EmployeeId, @StartTime, @StopTime";
SqlDataAdapter tableAdapter = new SqlDataAdapter(command, cnn);
// Set SQL Server parameters
tableAdapter.SelectCommand.Parameters.Add(new SqlParameter("@StartTime", DateTime.Parse(dtpRepEmFrom.Text)));
tableAdapter.SelectCommand.Parameters.Add(new SqlParameter("@StopTime", DateTime.Parse(dtpRepEmTo.Text)));
tableAdapter.SelectCommand.Parameters.Add(new SqlParameter("@EmployeeId", keyList.ToArray()));
var dataTable = new DataTable();
// Get data
tableAdapter.Fill(dataTable);
keylist
是integer
的数组(数据库中EmployeeId
是int
类型。)
填写dataTable时出错:
从对象类型
System.Int32[]
到已知的托管提供程序本机类型不存在映射。
请帮我如何将数组添加到参数中。