I have problem with array parameter in a stored procedure.
My code:
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
is an array of integer
(and EmployeeId
is int
type in database).
I get an error when I fill the dataTable:
No mapping exists from object type
System.Int32[]
to a known managed provider native type.
Please help me how I add array into parameter.