dateTimePicker i MSDE 2000 DB

4 отговора 121 прегледа
#1

dateTimePicker i MSDE 2000 DB

Много ми трябва помощ. Имам проблем с dateTimePicker и SqlInsertCommand.
Става въпрос, че едното поле в таблицата ми е Дата, която се избира от формата. Ползвам тоя код:

SqlCommand=new SqlCommand("Insert into Table1 values("+this.DateTimePicker1.Value+");", this.SqlConnection1);
SqlCommand.ExecuteNonQuery;

Тоя стринг връща грешка. Предполагам защото месеца е на кирилица.

пробвах така:

SqlCommand=new SqlCommand("Insert into Table1 values("+this.DateTimePicker1.Value.ToShortDateString()+");", this.SqlConnection1);
SqlCommand.ExecuteNonQuery;

Тоя стринг връща грешка свързана с '.2004'

Накрая пробвах така:

SqlCommand=new SqlCommand("Insert into Table1 values("+this.DateTimePicker1.Value.Day+"/"+this.DateTimePicker1.Value.Month+"/"+this.DateTimePicker1.Value.Year+");", this.SqlConnection1);
SqlCommand.ExecuteNonQuery;

Но така записва датата 01.1.1900

Моля Ви помогнете! Срещалили ли сте проблема. Всякакви идеи са от полза.
Мерси.

Отговор
в отговор на golden path #2

Re: dateTimePicker i MSDE 2000 DB

пропертито Value ДейтТайм пикъра е от тип DateTime, нали? Можеш да го направиш с параметризирана заявка, подозирам че ще тръгне.

SqlCommand cmd = new SqlCommand ("INSERT INTO tbl VALUES(@dt));
cmd.Parameters.Add(cmd.NewParameter("@dt", myPicker.Value));

Виж си точно как, че в момента го драсках малко наизуст. Ама така с конкатениране на стрингове не е добре.

Отговор
в отговор на golden path #3

Re: dateTimePicker i MSDE 2000 DB

Точно там е проблема.Можеш да оправиш нещата като използваш overload-натите версии на DateTime.ToString() ,аз за Access-a имах подобен проблем наскоро.Ето как тръгна:
DateTime.ToString("d",System.Globalization.DateTimeFormatInfo.InvariantInfo) - форматира го във вид ммддуууу.
Погледни в MSDN-a на DateTime.ToString Method , там има изброени и опции за форматиране.

Отговор
в отговор на bogosian #4

Re: dateTimePicker i MSDE 2000 DB

Мерси. Ще пробвам и двете идеи и ще ви кажа какво е станало.

Отговор
в отговор на golden path #5

Re: dateTimePicker i MSDE 2000 DB

Да стана. Мерси за съвеите. Оправих го като го пуснах с параметър, но пак я имаше врътката с Шорт-Лонг дата стрингa.

SqlCommand.CommandТеьт="Insert into ASDSA values(@Date)";
SqlCommand.Parametars.Add("Date",SqlDbTypes.DateTime,8);
SqlCommand.Parametar["@Date"].Value=this.DateTimePicker1.Value.ToShortDateString();

Мерси

Отговор