Используя c# winforms и sqlite
Я хочу вставить из набора данных в мою базу данных. Столбцы: Имя, Дата начала, Дата окончания. Все данные в столбцах «Дата» и «Дата окончания» представлены в неправильном формате, M / dd / гггг, поэтому я преобразовываю их с string startdate = Convert.ToDateTime(startdatetime).ToString("dd/M/yyyy");
Проблема в том, что в столбцах «Дата начала» и «Дата окончания» отсутствуют значения, поэтому я не могу конвертировать все без проверки на нулевые ячейки в первую очередь. Поэтому я не уверен, что поставить для запроса, потому что, если ячейка пуста, вставка startdatetime переведет ее в неправильный формат, тогда как вставка startdate вызовет ошибку. Я планирую изменить его, чтобы сделать его более безопасным и защищенным от sqlinjection после того, как я закончу.
string startdatetime = dataGridView1.SelectedRows[0].Cells["Start Date"].Value.ToString();
string enddatetime = dataGridView1.SelectedRows[0].Cells["End Date"].Value.ToString();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
if (string.IsNullOrEmpty(cell.Value as string))
{
string txtQuery = "insert into CertDB(DateAttended, EndDate) values ('" + startdatetime + "', '" + enddatetime + "')";
ExecuteQuery(txtQuery);
}
else
{
string startdate = Convert.ToDateTime(startdatetime).ToString("dd/M/yyyy");
string enddate = Convert.ToDateTime(enddatetime).ToString("dd/M/yyyy");
string expiry = Convert.ToDateTime(expirytime).ToString("dd/M/yyyy");
string txtQuery = "insert into CertDB(DateAttended, EndDate) values ('" + startdate + "', '" + enddate + "')";
ExecuteQuery(txtQuery);
}
}
}