|
|
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Сервер MySQL 5.5 Среда Delphi 7 Коннекторы Zlib Выполняю запрос: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Еси все данные в (DATE\TIME) введены, то все отлично. Не дает закинуть пустые значения. Приходится городить вот такие костыли: Код: pascal 1. 2. 3. 4. При таком значении(и в любой другой переменной, которая соответствует столбцу в БД типа DATE\TIME) Код: pascal 1. вываливается эксепшен с ошибкой на пустое начение. Поля в БД стоят не уникальные, пустые. Как быть? неужели нельзя записать пустое значение в поле даты или времени? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 11:43 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
про параметры и триггеры before insert ТС, похоже, не слышал ни разу.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 12:49 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Валерий666Как быть? неужели нельзя записать пустое значение в поле даты или времени? Как всегда в таких случаях, есть два пути решения проблемы, один простой, другой правильный. Простой путь - разобраться, как записать пустое значение без дельфы, а уже вооружившись этим знанием - подумать, как сделать это в дельфе. Правильный - выкинуть всё, что Вы здесь написали и привели, и сделать адекватно, прочитав перед этим - как именно это следует делать. P.S. Если увидите в книжке или в статье что-то подобное тому, что Вы написали - отправляйте в мусорную корзину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 12:56 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Валерий666, 1. у тебя есть тип TimeStamp. Храни там дату и время, по мере необходимости будешь извлекать или то, или другое, или оба два - т.о. образом кол-во полей может уменьшиться на 25-30% 2. используй параметры, типа Код: pascal 1. 2. 3. 4. 5. ps. я бы был поосторожнее с названиями полей типа dateadd , ибо это вполне может оказаться какой-нибудь функцией в твоей БД pss. ты это за деньги делаешь или учебное задание? Если первое - твоему работодателю не позавидуешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 13:19 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
ДокВалерий666, 1. у тебя есть тип TimeStamp. Храни там дату и время, по мере необходимости будешь извлекать или то, или другое, или оба два - т.о. образом кол-во полей может уменьшиться на 25-30% 2. используй параметры, типа Код: pascal 1. 2. 3. 4. 5. ps. я бы был поосторожнее с названиями полей типа dateadd , ибо это вполне может оказаться какой-нибудь функцией в твоей БД pss. ты это за деньги делаешь или учебное задание? Если первое - твоему работодателю не позавидуешь Да, надо сделать по человечески через параметры. За это никто не платит. Попросили максимально быстро набыдлокодить работающую версию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 14:56 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Делаю так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Ругается тут: Form1.ZQWork. Prepare; и тут .....Value:= nil; В uses подключен Variants ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 15:34 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Привет. Валерий666Ругается тут: Form1.ZQWork. Prepare; А как ругается? Валерий666и тут .....Value:= nil; Form1.ZQWork.ParamByName('dateadd').Value:= null ; Но лучше Form1.ZQWork.ParamByName('dateadd'). Clear ; С уважением, Polesov. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 16:17 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
PolesovПривет. Валерий666Ругается тут: Form1.ZQWork. Prepare; А как ругается? Валерий666и тут .....Value:= nil; Form1.ZQWork.ParamByName('dateadd').Value:= null ; Но лучше Form1.ZQWork.ParamByName('dateadd'). Clear ; С уважением, Polesov. Как-то так. Эмпирическим путем выявлено, что ему что-то не нравится в параметрах. Т.к. на саму подготовку в рабочем запросе эксепшена нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 16:30 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Валерий666, Разобрался. Неведомо почему но IDE выславляло не верную точку. Ругалось в итоге на вот это Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 16:39 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Валерий666Ругалось в итоге на вот это И правильно делало, поскольку запрос insert не может быть активным. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 16:58 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, В ряде случаев (и скорее всего в случае ТС, раз у него в конце концов это заработало) эффект от него такой же, как и от ExecSQL, хотя конечно же это не профессионально. )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 18:19 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Валерий666Валерий666, Разобрался. Неведомо почему но IDE выславляло не верную точку. Такое бывает если в исходнике с переводами строки косяк, например где-то вместо CrLf просто Lf. Это может получиться при вставке текста из интернета, например. Надо открыть файл в редакторе, который умеет управлять типом Line Endings, принудительно выставить нормальные и пересохранить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 18:36 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
alekcvp, При (ручном) форматировании даты, очевидно, же, что неверно выставляло. )) А что у меня прямое? - сказал верблюд. (с) ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 18:41 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
INSERT INTO registration (dateadd,timeadd...) VALUES (NULL,NULL ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 18:47 |
|
||
|
SQL запрос с аустыми значениями даты и времени
|
|||
|---|---|---|---|
|
#18+
Для сервера Firebird передача в параметр NULL делается так: Код: pascal 1. Возможно с вашей либой и сервером это так же будет работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2018, 20:43 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=121&tid=2041375]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
85ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 437ms |

| 0 / 0 |
