|
|
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! У меня был старый очень AnyDAC, там в компоненте собственном для работы с данными "на лету" были следующие строки: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. Чтобы присвоить полю Null, достаточно было параметру присвоить пустую строку ''. Т.е. Код: pascal 1. Сейчас в новом FireDAC это приводит к тому, что полю присваивается ноль 0. Как исправить данное поведение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 14:28 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
.Clear? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 14:35 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
wadman, Вот так сделал Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 14:40 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 15:07 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
svnvlad, Если речь идет о TParam, то вот так. Q.ParamByName(FData[I]).Clear; Q.ParamByName(FData[I]).Bound:=True; Собственно, уже сто лет как в справке Дельфей написано The Clear method replaces the value of the parameter with NULL, but does not set Bound to false. However, if the Clear method is used to bind the parameter to a NULL value, Bound must be separately set to true. Метод Clear заменяет значение параметра на NULL, но не устанавливает Bound в false. Тем не менее, если метод Clear используется для установки значения параметра в NULL, свойство Bound должно быть явно установлено в true. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 15:59 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
svnvlad Сейчас в новом FireDAC это приводит к тому, что полю присваивается ноль 0. Как исправить данное поведение? TFDQuery -> FormatOptions -> StrsEmpty2Null -> True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2020, 16:21 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
да, действительно 14089754 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 10:01 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
kdv Метод Clear заменяет значение параметра на NULL, но не устанавливает Bound в false. Тем не менее, если метод Clear используется для установки значения параметра в NULL, свойство Bound должно быть явно установлено в true. Я вот эту фразу не могу понять: .Clear не устанавливает .Bound в False поэтому .Bound необходимо установить в True Как из первого следует второе, где, блин, логика?!.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 12:47 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
а кому вообще нужно свойство Bound? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 12:51 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
X11 а кому вообще нужно свойство Bound? Например для вызова ХП с параметрами имеющими значения по умолчанию. kdv Q.ParamByName(FData[I]).Clear; Q.ParamByName(FData[I]).Bound:=True; В полном виде надо: Код: pascal 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 12:59 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
Почему бы разработчикам не сделать готовый метод, чтобы не вызывать три строки, а вызвать одну? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 13:05 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 13:06 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
X11 Почему бы разработчикам не сделать готовый метод, чтобы не вызывать три строки, а вызвать одну? Видимо давно сделали, т.к. я впервые слышу про такую конструкцию. Понять-бы еще где это bound применяется/обязателен? Даже в примерах не замечал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 14:48 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
Можно же по умолчанию настроить, что пустая строка присвоит нулл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 15:14 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
L_argo> Можно же по умолчанию настроить, что пустая строка присвоит нулл. Какой ужас... Вы с Оракла? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 15:28 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
X11 Почему бы разработчикам не сделать готовый метод, чтобы не вызывать три строки, а вызвать одну? Я понимаю, что очень бы хотелось TMyProgram.Create(<и тут миллион аргументов>) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 15:55 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
wadman X11 Почему бы разработчикам не сделать готовый метод, чтобы не вызывать три строки, а вызвать одну? Видимо давно сделали, т.к. я впервые слышу про такую конструкцию. Понять-бы еще где это bound применяется/обязателен? Даже в примерах не замечал. я так понимаю, что bound касается только параметров, а полей не касается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 15:59 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
X11 wadman пропущено... Видимо давно сделали, т.к. я впервые слышу про такую конструкцию. Понять-бы еще где это bound применяется/обязателен? Даже в примерах не замечал. я так понимаю, что bound касается только параметров, а полей не касается И я процедурами пользуюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 16:01 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Код: sql 1. ну да, я вот смотрю исходники FibPlus Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 16:09 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов Рустам L_argo> Можно же по умолчанию настроить, что пустая строка присвоит нулл. Какой ужас... Вы с Оракла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 17:09 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
alekcvp Гаджимурадов Рустам L_argo> Можно же по умолчанию настроить, что пустая строка присвоит нулл. Какой ужас... Вы с Оракла? Никакого. Вопрос обсуждался в соотвествующем разделе скруля, единственное, что надыбали - вот такой сценарий: Непустая строка - это описание события "Докладываю: рейхстаг взят". Пустая строка - это описание события "Докладываю: ничего не произошло". Null - доклада не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 17:49 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
alekcvpКак из первого следует второе, где, блин, логика?!.. вместо возмущений логикой следовало бы почитать справку или исходники. 1. присвоение значения параметру (не null) выставляет Bound в True. Это индикатор "значение присвоено". 2. если пункта 1 не было, Bound = False. 3. вызываем Clear - Bound остается False. 4. дальше ... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 20:38 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
alekcvp, черт, никогда у меня не получалось за один раз всё написать. Так вот. Null - это не значение. Это отсуствие значения. И хранить его можно только как "индикатор отсутствия значения". И с Bound + Clear вот как раз эта самая фигня. Clear убивает значение, теперь значения нет. А Bound является индикатором, что значение всё-таки есть. Но оно "пустое". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2020, 20:43 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
kdv 1. присвоение значения параметру (не null) выставляет Bound в True. Это индикатор "значение присвоено". 2. если пункта 1 не было, Bound = False. 3. вызываем Clear - Bound остается False. Ну так разве .Bound = False - это не есть Null, который и был нужен ТСу?.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2020, 03:39 |
|
||
|
FireDAC - присвоить Null полю
|
|||
|---|---|---|---|
|
#18+
alekcvp Гаджимурадов Рустам L_argo> Можно же по умолчанию настроить, что пустая строка присвоит нулл. Какой ужас... Вы с Оракла? И нулл и пустая строка имеют право на жизнь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2020, 09:55 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39956324&tid=2038324]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
197ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 293ms |
| total: | 608ms |

| 0 / 0 |
