|
|
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
FB 2.5.2. Есть такой делфи-код: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. После запуска проги при первом нажатии на буттон7 ShowMessageFmt верно показывает 123 миллисекунды, однако при втором и далее нажатии на буттон7 показывается всегда 0. Это как так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 13:00:57 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
sann-xЭто как так? Это так, что IBX вообще не умеет работать с долями секунды. Это у него врождённое. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 13:07:37 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Но в первый раз же IBSQL показал ведь миллисекунды, почему тогда после первого раза уже не показывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 13:13:36 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
Hello, Hvlad! You wrote on 13 мая 2014 г. 13:11:28: Hvlad> Это так, что IBX вообще не умеет работать с долями секунды. > Это у него врождённое. занудства ради - IB API. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 13:13:47 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
чо-то у меня квотер сломался. пардону просим. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 13:16:20 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
Посмотрел исходники "IBSQL.pas", метод "TIBXSQLVAR.SetAsString": Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. в первый раз stype = 0 и выполняется процедура SetStringValue, а после первого раза stype = 510 и выполняется метод SetAsDateTime, который, как известно, не передает миллисекунды в параметр. Вопрос: как "сбросить" stype, чтобы каждый раз выполнялась процедура SetStringValue? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 13:38:16 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
sann-xВопрос: как "сбросить" stype, чтобы каждый раз выполнялась процедура SetStringValue? Вариант 1: не используй параметризованные запросы. Вариант 2: присваивай значение сразу AsDateTime, а потом добавляй дробные доли секунды непосредственно в формате TISC_TIMESTAMP через указатель Data.sqldata. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 13:50:57 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
если сбрасывать вот так, то работает: Код: pascal 1. 2. 3. 4. Можно ли считать такой способ валидным? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 13:55:01 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
sann-xМожно ли считать такой способ валидным? Это ещё худшее извращение, чем неиспользование параметров вообще. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 13:57:26 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Без параметров никак, ибо и меня "движок" выполнения запросов: указывается "номер" запроса из перечисления и параметры к нему. Запросов много, поэтому используется параметры. Чем этот код невалиден? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 14:01:25 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
sann-xЧем этот код невалиден? Он валиден, но крив. Имеет все недостатки неиспользования параметров, но гораздо длиннее. Я бы рекомендовал повнимательнее рассмотреть вариант 2. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 14:11:18 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Сработал вариант 2. Получилось так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 14:58:01 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
sann-xПолучилось так: Ужоснах. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 15:56:35 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, А как надо, чтоб тип-топ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 16:24:47 |
|
||
|
Миллисекунды в параметре запроса пропадают после второго вызова
|
|||
|---|---|---|---|
|
#18+
sann-xА как надо, чтоб тип-топ? А, извини, я совсем забыл, что IBX и EXECUTE BLOCK толком не поддерживает. Так что в коде всё более-менее нормально, толко проверка на переполнение времени - лишняя. DecodeTime хоть убейся не даст тебе больше 999 миллисекунд. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2014, 18:16:34 |
|
||
|
|

start [/forum/topic.php?fid=40&gotonew=1&tid=1563605]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
198ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 541ms |

| 0 / 0 |
