|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.07.2011, 20:08 | #11 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
На счет Variant, он работает намного медленнее, но для кодера delphicoding в самый раз, я думаю он по достойнству оценит тип COM-ориентированных техн. Microsoft-a.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
|
29.07.2011, 20:52 | #12 |
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Не, ну вы оба красавцы! А разве можно вообще "в среде Delphi написать более быстрый тип", ежели компилятор Delphi априори не знает и не умеет работать с Date/Integer=null ?!
Последний тупой вопрос на сегодня - при передачи из Delphi через Dataset в БД значения Variant:=null передаются как "null" или не передаются вообще? БД воспринимает их как "нужно записать null" или как "ничего не передали, значит это поле перезаписывать не будем". PS Если все эти действия приводят к записи в БД значения null, тогда вопрос - как при вызове процедуры указать один из атрибутов пустым, чтобы в БД данное поле НЕ было перезаписано?! Конструкция типа procedure Dannie(1,2,,,5) вызывает в Delphi ошибку... Delphi очень хочет, чтобы каждый параметр был указан и написан! Последний раз редактировалось delphicoding; 29.07.2011 в 21:05. |
29.07.2011, 21:05 | #13 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
а по поводу использования типа variant если открыть описание TField (как, впрочем, и любого типа данных, наследованного от TField), то легко увидеть, что там присутствует и тип вариант Цитата:
Последний раз редактировалось Serge_Bliznykov; 29.07.2011 в 21:14. |
||
29.07.2011, 21:13 | #14 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ТС, а вы работаете строго через компоненты(DataSet,Table или что там для БД?)
может стоило немного SQL подучить и работать нормальными запросами? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
29.07.2011, 22:21 | #15 | |||
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Цитата:
а) разрешить в среде разработки пропускать значения, которые не нужно менять, а именно: Dannie(1,2,,,5) б) ввести в SQL (и Delphi,C++,итд) параметр отличный от null например clear/empty, который при передачи в СУБД будет интерпретирован как "ничего не записывать", тогда null в свою очередь можно интерпретировать как "записать пустоту". Всё было бы удобно и логично. Сейчас же из-за заморочек Delphi: I) нет возможности делать одно из двух действий; II) даже вы профи доконца не уверены, что же этот null в итоге делает... PS На самом деле в SQL предусмотрена работа с пустым значением, то есть без значения. А вот Delphi выпендривается, ругается и вообще так не может... в плане работы с БД это серьёзный недостаток! Цитата:
Цитата:
Последний раз редактировалось delphicoding; 29.07.2011 в 22:23. |
|||
29.07.2011, 22:29 | #16 | ||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я имел в виду ваше взаимодействие с БД, запросы вы пишите?
Цитата:
null и есть пустота. Цитата:
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||||
29.07.2011, 22:37 | #17 | |||
Заблокирован
Регистрация: 04.07.2011
Сообщений: 261
|
Цитата:
Цитата:
Цитата:
|
|||
29.07.2011, 22:43 | #18 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Пепел Феникса, согласен с каждым Вашим словом!
delphicoding, Вы себе что-то невообразимое вообразили, и теперь хаете Delphi за то, что оно не соответствует Вашим фантазиям! Хотите странного - ну так либо допишите код в эти ваши процедуры, чтобы параметры, которые Вы присвоили NULL не писались, либо тоже самое сделайте на стороне сервера (к сожалению не силён в хранимых процедурах и триггерах FB, но я на 98% уверен, что это можно организовать силами сервера. Только учтите, что в БД, если поле допускает запись NULL, но - Вы своей изогнутой логикой лишите программу возможности писать NULL в такие поля... Это может повлиять на запросы к данным (и на логику работы с данной БД).... Впрочем, Вы разработчик, Вам виднее куда и что писать, а куда - не писать... |
29.07.2011, 22:47 | #19 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
вы не путайте мух и котлеты. свойства имеют значения по умолчанию. параметрам тоже можно их задать, но там определенные правила, а именно что параметры не указываются с конца. Цитата:
Код:
может запрос с ошибкой, но я сейчас далеко от дома, мне не посмотреть его. Цитата:
ибо на любой свой косяк/лень вы обсираете Делфи. синтаксис языка и его правила известны еще очень давно, вы хотите их нарушить, и недовольны что вас посылает компиль. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 29.07.2011 в 22:50. |
|||
29.07.2011, 22:48 | #20 |
Форумчанин
Регистрация: 26.07.2009
Сообщений: 489
|
delphicoding, я работаю с БД, а именно разрабатываю свою небольшую СУБД. И прекрасно понимаю значение Null в БД. В наборе данных работа с Null полностью реализована. На ваши вопросы я не могу ответить, потому что они у меня в голове не "компилируются".
На счет невозможности в непередачи параметров, то в Delphi есть такая возможность, для этого мы присваиваем значение по умолчанию, например: Код:
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как перевести integer в Date | demiancz | Общие вопросы Delphi | 11 | 17.02.2011 23:08 |
КАк сделать JOIN в Access с объединением по NULL | Izhic | Помощь студентам | 1 | 09.02.2011 11:18 |
FireBird. Как конвертировать Integer в Date и обратно? | BeJIuKuu_Hexo4yxa | SQL, базы данных | 5 | 25.10.2010 10:10 |
как сравнить c null? | MigelCNB | Общие вопросы Delphi | 4 | 22.09.2010 15:06 |
Как сделать подобие NOT NULL в DataGridView? C# | Sparkman | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 2 | 18.08.2010 11:07 |