Вставьте дату в базу данных из строки в формате дд / мм / гггг - PullRequest
0 голосов
/ 20 сентября 2019

В форме окна у меня есть DateTimePicker с пользовательским форматом dd/MM/yyyy.

Я хочу вставить выбранную дату в SQL Local DB, но это вызывает исключение.

Ошибка преобразования при преобразовании даты и / или времени из символьной строки

Мой вопрос:
Как вставить эту дату в базу данных в любом формате.

Вот мой код

string query = "Insert into myTable Values('" +  dateTimePicker1.Text + "');";

1 Ответ

3 голосов
/ 20 сентября 2019

Используйте DateTimePicker.Value вместо DateTimePicker.Text.Если вам нужна только часть даты, вы можете использовать DateTimePicker.Value.Date.

DateTimePicker.Value - фактический DateTime объект, присвоенный элементу управления, тогда как DateTimePicker.Text - это свойство Value с примененным форматированием.Использование Value напрямую избавляет вас от необходимости сначала преобразовывать Text в DateTime.

Вы должны также использовать параметризованный запрос, как отмечали другие.

string query = "Insert into myTable Values (@myDate)";
using(SqlConnection connection = new SqlConnection(connectionString))
{
    using(SqlCommand command = new SqlCommand(query, connection))
    {
        command.Parameters.AddWithValue("myDate", dateTimePicker1.Value);       
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...