Я вставляю данные в таблицу SQL Server через контроллер в моем проекте ASP.NET MVC. Мне нужно знать, как форматировать DateTime в строку, чтобы SQL Server отображал его правильно.
Это код, с которым я работаю
var queryable = ((IQueryable<PoScenarioQueueManager>)filters.ApplyTo(query)).ApplyCustomFilters();
var sql = queryable.ToParameterizedQuery();
var declaration = sql.Substring(0, sql.IndexOf("SELECT", StringComparison.CurrentCultureIgnoreCase));
var select = sql.Replace(declaration, "");
var statement = "@Declaration " +
"INSERT INTO dbo.ScenarioQueues (ScenarioUserId, ScenarioTypeId, ScenarioId" +
", VendorNumber, VendorName, DepartmentNumber, DepartmentName, AuditReleaseId, ItemId, ItemNumber" +
", ItemUpc, BeginDate, EndDate, PaidCost, NewCost, ImportItemsFilePath" +
", ExportItemsFilePath, ScenarioSource, CreatedBy, ModifiedBy" +
", CreatedDate, ModifiedDate, PoEvent, PoEventId, CheckStartDate, CheckEndDate)" +
"SELECT ScenarioUserId, ScenarioTypeId, ScenarioId, VendorNumber, VendorName" +
", DepartmentNumber, DepartmentName, AuditReleaseId, ItemId, ItemNumber, ItemUpc" +
", BeginDate, EndDate, PaidCost, NewCost, ImportItemsFilePath, ExportItemsFilePath" +
", ScenarioSource, CreatedBy, ModifiedBy, CreatedDate, ModifiedDate, PoEvent" +
", PoEventId, "+currentAuditstartDate.ToString("yyyy-MM-dd") + ", "+currentAuditendDate.ToString("yyyy-MM-dd")+
" FROM ( @Select ) As QUERY";
using (SqlConnection connection = new SqlConnection(entities.Database.Connection.ConnectionString))
{
SqlCommand command = new SqlCommand(statement.Replace("@Declaration", declaration).Replace("@Select", select), connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
Таблица в SQL Server не показывает правильный формат DateTime
. currentAuditstartDate
и currentAuditendDate
- это те, которые не передаются правильно, чтобы SQL Server отображал правильный формат DateTime.