Опять же дата в SQL

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Ronin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 635
Зарегистрирован: 13.02.2002 (Ср) 14:16
Откуда: Россия, Москва

Опять же дата в SQL

Сообщение Ronin » 23.07.2003 (Ср) 21:43

Доброго времени суток!

У меня вопрос, и опять-же по Дате в SQL. Значит дело обстоит так:
У меня база SQL70 и я пытаюсь записать в поле smalldatetime дату используя - Format(DTPicker1.Value, "MM\/DD\/YY"). Выглядит это в общем виде так:
Cn.Execute "INSERT INTO nakl (id,naklid,date,seller,sellersnakl,workmonth,workyear,allsum) VALUES (" & GetLastId("nakl") + 1 & "," & txtNaklNumber.Text & "," & Format(DTPicker1.Value, "MM\/DD\/YY") & "," & ExecuteWithOneParam("SELECT ID FROM SELLERS WHERE Name ='" & cmbSeller.Text & "'") & "," & txtSellersNakl.Text & "," & UpDown1.Value & "," & txtWorkYear.Text & "," & allsum & ")". Он все заносит, а вот вместо даты вводит ахинею: 01.01.1901. В чем дело? Помогите-горю. А при выборке:
Date between " & Format$(Date1.Value, "MM\/DD\/YY") & " and " & Format$(Date2.Value, "MM\/DD\/YY"). Все работает нормально (но с датами вбитыми мною вручную). Возможно я не ясно выражаюсь... (если не понятно, то пишите на roninsoft@mail.ru)
С уважением,
Игорь Шувалов aka Ronin

boevik
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 23.07.2002 (Вт) 11:44
Откуда: Israel

Сообщение boevik » 24.07.2003 (Чт) 7:22

Дату и текст надо брать в апострофы знак('), т.е. твой SQL statment будет выглядить так

Cn.Execute "INSERT INTO nakl (id,naklid,date,seller,sellersnakl,workmonth,workyear,allsum) VALUES (" & GetLastId("nakl") + 1 & ",'" & txtNaklNumber.Text & "','" & Format(DTPicker1.Value, "MM\/DD\/YY") & "'," …

Ronin
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 635
Зарегистрирован: 13.02.2002 (Ср) 14:16
Откуда: Россия, Москва

Сообщение Ronin » 24.07.2003 (Чт) 8:10

Да! Спасибо, но ответ я нашел до прочтения письма - использовать format "'dd.mm.yy'" (c апострофами).
Большое спасибо!
С уважением,
Игорь Шувалов aka Ronin

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 24.07.2003 (Чт) 12:51

Дабы не путаться в форматах даты (какой разделитель, месяц или день сначала и т.д.) лучше использовать универсальный формат:
'YYYY-MM-DD hh:nn:ss'
Дату в таком формате распознают практически все БД.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 219

    TopList