Примечание : Я также ищу способ AddWithParameter
, чтобы избежать риска внедрения SQL-кода, но я не уверен, как это сделать с DotNetNuke, так что это второй вопрос в этом вопросе.
Я сохраняю дату как C # DateTime
в столбце базы данных SQL datetime
. При получении этой даты я не могу получить информацию о чч: мм: сс, она всегда отображает 12:00, но день, месяц, год извлекаются и отображаются правильно.
Вот как я вставляю дату в SQL:
string sqlDateFormat = "yyyy-MM-dd HH:mm:ss.fff";
string sqlInsertString = String.Format("INSERT INTO TABLE_NAME (Date_Column_Name) VALUES ({0})", thisDate?.ToString(sqlDateFormat)};
using (IDataContext ctx = DataContext.Instance())
{
try
{
ctx.Execute(System.Data.CommandType.Text,
sqlInsertString);
success = true;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
Вот как я получаю данные таблицы:
using (IDataContext ctx = DataContext.Instance())
{
string sqlString = @"SELECT Date_Column_Name FROM Table_Name WHERE ID = " + paramId;
try
{
myTableDates = ctx.ExecuteQuery<TableModel> (System.Data.CommandType.Text, sqlString);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
Вот как я пытаюсь отобразить на экране:
<tbody>
@foreach (TableModel tm in Model.AllTablesDates)
{
var dateVar = tm.Date == null ? "N/A" :
tm.Date.Value.ToString("dd-MMM-yyyy h:mm tt");
<tr>
<td data-title="Day">@dateVar</td>
</tr>
}
</tbody>