Если вы вставляете в базу данных, не используйте строку даты.Используйте объект Parameter и присвойте Value объект date.
для доступа
string mystatment = "Insert into TableName (column1, datecolumn) values (?,?)"
OleDbCommand cmd = conn.CreateCommand();
cmd.Commandtext = mystatement;
cmd.Parameters.AddWithValue("@column1", mycolumn1variable);
cmd.Parameters.AddWithValue("@datecolumn", yourDateTimeVariable);
если вы правильно делаете это с рабочим кодом, убедитесь, что у вас есть обработка исключений и т. Д.
using (OleDbConnection conn = new OleDbConnection("connection string"))
{
using (OleDbCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "Insert into TableName (column1, datecolumn) values (?,?)";
OleDbParameter param;
param = new OleDbParameter("name", OleDbType.VarChar, 36); // if you know the size of the column specify it
param.Value = mycolumn1variable;
cmd.Parameters.Add(param);
param = new OleDbParameter("mydate", OleDbType.Date); // if you know the size of the column specify it
param.Value = yourDateTimeVariable;
cmd.Parameters.Add(param);
conn.Open();
cmd.ExecuteNonQuery(); //etc
}
}
для sql вы используете именованный @параметры вместо?в своем утверждении и используйте вместо этого SqlCommand.
Если это для отображения на экране, учитывайте настройки и формат пользователей в зависимости от их культуры.