|
|
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
При вызове Код: pascal 1. создается форма шаблона для заполнения бланка, бланк номерной, и чтоб полуавтоматизировать систему нумерации сделал так Код: pascal 1. 2. 3. 4. 5. 6. т.е. Ищется в таблице MyTable1 в столбце MyMaxNomer максимальное значение номера, при создании формы в Edit1.Text записывается его значение+1 (в случае необходимости значение Edit1.Text можно поменять). Вопрос: Вся эта конструкция почему то работает от 1 до 10, после 10 счетчик останавливается и все последующие номера идут только с номером 10, даже если вставить вручную строку с номером 125, бланки все равно будут с номером 10. Где я накосячил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 01:35 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
В данном коде ошибка лишь одна. Если в MyTable1 строк нет то Count_Max = Null и Null+1 - неминуемая ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 01:44 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
Sensor230в таблице MyTable1 в столбце MyMaxNomer максимальное значение номераКакой тип у поля MyMaxNomer? DimaBrВ данном коде ошибка лишь однаNULL должен кастануться в 0. А ошибка в том, что нефиг колхозить автоинкремент на коленке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 14:25 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
DimaBrВ данном коде ошибка лишь одна. Если в MyTable1 строк нет то Count_Max = Null и Null+1 - неминуемая ошибка Хотя бы одна строка в таблице есть всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 17:30 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, Про "колхозить" это не совсем корректно )))), здесь спрашивают и просят помощи обычно чайники, любители и тождественные им категории, а профессионалы обычно им подсказывают, советуют и помогают. Пристыдить "колхозом" можно профессионала, но они как правило на форумах ответы не ищут. А что касаемо моего вопроса, так таки да, поле было текстовым, изменил на числовой и начало колхозно инкементировать, Только возник еще вопрос, чисто из интереса, а почему до 10 считало, 1-9 это же тоже цифры. И да, _Vasilisk_, Спасибо за помощь! ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 17:41 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
Sensor230, существуют: явное приведение типов и НЕ явное приведение типов. В случае неявного приведения типов: зависит от логики, заложенной разработчиком СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 17:45 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
Gerasimenko, Т.е. от 1 до 9 типы из строки в цифру приводятся автоматически, а с 10 и выше требуется явное приведение типов? Я думал, что числа это числа, а буквы-буквы, а оказалось что не все буквы числа и что среди чисел есть те которые буквы )))). Хотя и догадывался, что программисты..... ну не такие как все )))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 17:59 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
Sensor230, Что за СУБД? И покажите DDL таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 18:08 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
Sensor230Gerasimenko, Т.е. от 1 до 9 типы из строки в цифру приводятся автоматически, а с 10 и выше требуется явное приведение типов? Я думал, что числа это числа, а буквы-буквы, а оказалось что не все буквы числа и что среди чисел есть те которые буквы )))). Хотя и догадывался, что программисты..... ну не такие как все )))))))) В приведенном вами примере, неявное преобразование проводится провайдером, а не в СУБД В СУБД возможно и прокатило бы Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 18:16 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
GerasimenkoSensor230, существуют: явное приведение типов и НЕ явное приведение типов. В случае неявного приведения типов: зависит от логики, заложенной разработчиком СУБД. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Я специально с сортировкой поставил. Все, что начинается с 9, будет в конце. Сортировка по первому символу. Вполне логично, что и в СУБД и на стороне провайдера сначала возвращается максимальная строка - это 9, затем к ней применяется НЕ явное приведение типов, а уже после прибавляется 1. Все точно с точки зрения логики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 18:26 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
miksoft, А MS Access 2007 является СУБД, если вместо того чтоб да так нет то тогда это оно. У меня в БД три не связанные между собой таблицы, и где взять DLL я не знаю. Каждый должен заниматься своим делом, меня устраивает спросить "как" и сделать как ответили, а красивый код пусть программеры пишут, мне для себя от скуки и так сойдёт. ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 18:32 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
GerasimenkoВ случае неявного приведения типов: зависит от логики, заложенной разработчиком СУБД. +500 восхишаюсь Вашим хрустальным шаром правда, max() никакого неявного приведения типов не делает. поэтому у автора всегда 9 и выскакивает. Gerasimenkoолько с номером 10, даже если вставить вручную строку... Gerasimenkoи сделать как ответили Вставьте в базу магическую строчку 9000000 и все заработает !!! GerasimenkoКаждый должен заниматься своим делом, меня устраивает спросить "как" Вы подфорумом ошиблись. Вам сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 18:52 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
Sensor230от 1 до 9 типы из строки в цифру приводятся автоматически, а с 10 и выше требуется явное приведение типов? То есть сообразить, что '100' < '9' - никак?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2019, 18:53 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevGerasimenkoВ случае неявного приведения типов: зависит от логики, заложенной разработчиком СУБД. +500 восхишаюсь Вашим хрустальным шаром правда, max() никакого неявного приведения типов не делает. поэтому у автора всегда 9 и выскакивает. Gerasimenkoолько с номером 10, даже если вставить вручную строку... Gerasimenkoи сделать как ответили Вставьте в базу магическую строчку 9000000 и все заработает !!! GerasimenkoКаждый должен заниматься своим делом, меня устраивает спросить "как" Вы подфорумом ошиблись. Вам сюда не совсем понял твоего наезда: 21960072 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2019, 03:39 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
сорри, отцитировал не правильно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2019, 11:21 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevGerasimenkoВ случае неявного приведения типов: зависит от логики, заложенной разработчиком СУБД. +500 восхишаюсь Вашим хрустальным шаром правда, max() никакого неявного приведения типов не делает. поэтому у автора всегда 9 и выскакивает. ... Именно, что не делает: а должен был. Поэтому нужно применять явное приведение типов. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2019, 13:47 |
|
||
|
SQL SELECT MAX возвращает макс. значение но только до 10.
|
|||
|---|---|---|---|
|
#18+
Sensor230Про "колхозить" это не совсем корректно )))), здесь спрашивают и просят помощи обычно чайники, любители и тождественные им категории, а профессионалы обычно им подсказывают, советуют и помогают. Пристыдить "колхозом" можно профессионала, но они как правило на форумах ответы не ищутХорошо. Для тех кто в танке и не понимает намеков. Используйте СТАНДАРТНЫЙ механизм автоинкремента, предоставляемый любой СУБД. Потому, что 1) этот механизм уже есть и работает 2) ваша реализация кривая и работать не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2019, 15:18 |
|
||
|
|

start [/forum/search_topic.php?author=impala&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
84ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 647ms |
| total: | 844ms |

| 0 / 0 |
