Проблема с SQL и датой
Hello. I have a problem with the format of the date which is stored in SQL server. It should send the date as 'dd-MM-yyyy' but when I look in the 'Table Data' it shows like 'mm-DD-yyyy 00:00:00' and I can't figure out why. My code for sending information to SQL is: <pre lang="c#"> MessageBox.Show((DateTime.Parse(datoForbrug.Value.ToShortDateString())).ToString("dd-MM-yyyy"));
cmd.CommandText = "insert into " + Forbrug + " (Dato, Aflæsning, Forskel) VALUES ('" + (DateTime.Parse(datoForbrug.Value.ToShortDateString())).ToString("dd-MM-yyyy") + "', '" + IndtastForbrug.Text + "','" + 0 + "')";
Когда я должен получить данные из SQL, код:
Gridview_index.Rows [n].Cells [0].Value = String.Format("{0:dd-MM-yyyy}", item [1].ToString());
Что я уже пробовал:
Все: от изменения формата в dateTimePicker до формата от отправки информации в SQL, в SQL и получения от SQL. Поиск в интернете тоже.
Richard Deeming
Ваш код уязвим для SQL-инъекция[^]. НИКОГДА используйте конкатенацию строк для построения SQL-запроса. ВСЕГДА используйте параметризованный запрос.
Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов / OWASP[^]