Вот метод, который я написал для сравнения значений двух разных дней:
public DataTable sqlToDTCompare(string conStr, string stpName, DateTime startDate, DateTime endDate, int percent)
{
//receives connection string and stored procedure name
//then returns populated data table
DataTable dt = new DataTable();
using (var con = new SqlConnection(conStr))
using (var cmd = new SqlCommand(stpName, con))
using (var da = new SqlDataAdapter(cmd))
{
cmd.Parameters.Add("@StartDate", SqlDbType.Date).Value = startDate;
cmd.Parameters.Add("@EndDate", SqlDbType.Date).Value = endDate;
cmd.Parameters.Add("@Percent", SqlDbType.Int).Value = percent;
cmd.CommandType = CommandType.StoredProcedure;
da.Fill(dt);
}
return dt;
}
Этот метод затем возвращает эти данные в DataTable
(это было то, что мне было нужно во время написания). Вы могли бы использовать это, с изменениями, чтобы лучше соответствовать вашим потребностям.
То, что вы хотите использовать, является чем-то вроде:
SqlCommand.Parameters.Add("@Param1", SqlDbType.Type).Value = param1;
SqlCommand.Parameters.Add("@Param2", SqlDbType.Type).Value = param2;
SqlCommand.Parameters.Add("@Param3", SqlDbType.Type).Value = param3;
.....
Где .Type
в SqlDbType.Type
можно изменить для соответствия любому необходимому типу данных SQL (например, SqlDbType.Date
).