Пожалуйста, используйте параметризованные запросы.Мои глаза болят, когда я вижу конкатенации строк, используемые для построения SQL-запросов:
using (var conn = new SqlConnection("SOME CONNECTION STRING"))
using (var cmd = new SqlCommand(conn))
{
conn.Open();
cmd.CommandText = "INSERT INTO GameTbl (gameName, genreID, players, online, dateReleased, developerID, publisherID, consoleID) VALUES (@gameName, @genreID, @players, @online, @dateReleased, @developerID, @publisherID, @consoleID)";
cmd.Parameters.AddWithValue("@gameName", GameNameTxt.Text);
cmd.Parameters.AddWithValue("@genreID", GenreCombo.SelectedValue);
cmd.Parameters.AddWithValue("@players", PlayersNUD.Value);
cmd.Parameters.AddWithValue("@online", OnlineCombo.SelectedText);
cmd.Parameters.AddWithValue("@dateReleased", DateReleasedDate.Value);
cmd.Parameters.AddWithValue("@developerID", DeveloperCombo.SelectedValue);
cmd.Parameters.AddWithValue("@publisherID", PublisherCombo.SelectedValue);
cmd.Parameters.AddWithValue("@consoleID", ConsoleCombo.SelectedValue);
var result = cmd.ExecuteNonQuery();
...
}
Что касается столбца dateAdded
, я бы просто удалил его из INSERT и добавил его значение по умолчанию непосредственно вБаза данных SQL.
Обратите внимание, как вы непосредственно передаете DateTime
экземпляры, и вы оставляете ADO.NET обрабатывать форматы.В качестве бонуса ваш код защищен от SQL-инъекций.