Конференция "Базы" » добавление даты в поле таблицы
 
  • AlpenLeo © (04.06.10 23:42) [0]
    Есть таблица, в которой поле Srok_vydachi типа Date. Необходимо программно добавить дату (по нажатию на кнопку), взяв ее из DateTimePicker. Может использовать другой компонент?и как его использовать?
    Использую Delphi7,FireBird, IBQuery.
  • Jeer © (04.06.10 23:45) [1]
    Т.е., с DML ты вообще не знаком ?
  • AlpenLeo © (04.06.10 23:46) [2]
    Нет.Только начинаю изучать!а что это?можно поподробнее.
  • Jeer © (04.06.10 23:48) [3]
  • AlpenLeo © (05.06.10 00:02) [4]
    Были проблемы при вставке.тип даты из DateTimePicker не соответствовал типу из таблицы. оказывается нужно было писать  QuotedStr(FormatdateTime('yyyy/mm/dd',Data3) ). Спасибо за ссылку.теперь знаю как все это называется. :)

    var data3:Tdate;
    begin
     data3:=DateTimePicker2.Date;
     IBQuery5.SQL.Text:='INSERT INTO dannii(N_pasporta,srok_sdaci)'+
      'VALUES ('+edit5.Text+','+QuotedStr(FormatdateTime('yyyy/mm/dd',Data3))+') ';

       IBQuery5.ExecSQL;
       IBQuery5.Close;
       IBTransaction1.Commit;
  • turbouser © (05.06.10 01:19) [5]

    > AlpenLeo ©   (05.06.10 00:02) [4]


    > казывается нужно было писать

    Надо использовать параметры. IBQuery5.Param... +F1
    В этом случае будет глубоко без разницы, какой там формат даты на сервере.

    > IBTransaction1.Commit;

    try
      IBQuery5.ExecSQL;
      IBQuery5.Close;
      if IBTransaction1.InTransaction then
         IBTransaction1.Commit;
    except
    on e:exception do
     begin
      if IBTransaction1.InTransaction then
        IBTransaction1.Rollback;
       ShowMessage(E.Message) ; // ну, для примера потянет
     end;
    end;

  • Германн © (05.06.10 01:54) [6]
    Опять эти параметры!
    Ну почему новички о них не знают?! Хотя знают функцию QuotedStr.
    :)
  • Anatoly Podgoretsky © (05.06.10 09:53) [7]
    > turbouser  (05.06.2010 01:19:05)  [5]

    Да никакой у него даты нет, а есть строковое поле.
  • Loginov Dmitry © (05.06.10 12:39) [8]

    > оказывается нужно было писать  QuotedStr(FormatdateTime('yyyy/mm/dd',
    > Data3)


    Не нужно так писать (не припомню, чтобы такой формат в IB / FB поддерживался)

    Нужно использовать:
    - либо параметры
    - либо формат "yyyy-mm-dd"
    - либо формат "dd.mm.yyyy"
    - либо формат "mm/dd/yyyy" (чтобы в итоге остались именно слеши)
  • turbouser © (05.06.10 13:08) [9]

    > Anatoly Podgoretsky ©   (05.06.10 09:53) [7]
    >
    > > turbouser  (05.06.2010 01:19:05)  [5]
    >
    > Да никакой у него даты нет, а есть строковое поле.


    > Есть таблица, в которой поле Srok_vydachi типа Date
  • Правильный$Вася (06.06.10 10:01) [10]

    > в которой поле Srok_vydachi типа Date

    а диалект какой?
    в разных диалектах разный смысл у этого типа
 
Конференция "Базы" » добавление даты в поле таблицы
Есть новые Нет новых   [134433   +22][b:0][p:0.001]