|
|
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Коллеги, подскажите есть запрос типа Код: pascal 1. Параметр name_list получаю из TStringList, вопрос правильно ли это и как сделать чтобы параметр принял значение типа: 'Вася','Петя', а не как 'Вася, Петя'. Как делаете вы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 17:49 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnetправильно ли это Нет, неправильно. wsnetКак делаете вы? Мы так не делаем. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 18:02 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 18:16 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
DimaBr, не очень ясно, как это использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 18:56 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet, Не использовать TStringList.DelimitedText бездумно не предлагать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:08 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
DarkMaster, да, но все же как вы реализуете задачу множественного выбора значений ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:10 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Извиняюсь, а как вы делаете, может подскажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:10 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet, 1) Тебе нужно точное совпадение? Именно "Вася и Петя и Ваня"? 2) Я бы тупо слеил IN кляузу обычным циклом и прилепил к запросу. Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:15 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnetа как вы делаете, может подскажите? Обрабатываю выбранное по одному, в цикле. Это не требует запросов к серверу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:18 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, То есть прогоняете в цикле? Что-то типа этого? Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:32 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
DarkMaster, Да точное, нет, от склейки отказались. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:33 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
DarkMaster, а в Myparam что будет в конечном счете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:36 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet, Ну что бы не использовать склейку, используйте setlength сразу определённой длины, и функцию move. Совершенно не будет тормозить. Ну или получите строку целиком, добавьте N количество через setlength и с конца перенесите с лева на право. Добавив символы. Тоже с move ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:39 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный wsnet, Ну что бы не использовать склейку, используйте setlength сразу определённой длины, и функцию move. Совершенно не будет тормозить. TStringBuilder уже не модно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:42 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Извиняюсь, а как вы делаете, может подскажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:42 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный, пример можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 19:48 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet DimaBr, не очень ясно, как это использовать? Так и использовать. В :name_list передавать список через зяпятую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 20:10 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
DimaBr, если использовать left join и далее в where указать ваше условие, то почему-то выбираются все записи, на одной таблице проблем нет. Как так может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 20:38 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
DimaBr, нет отрабатывает как надо! Спасибо за идею! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 20:45 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
alekcvp TStringBuilder уже не модно? Да ну нафиг этот костыль. Мне лично эта прослойка совершенно не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 20:51 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet ВсеРазумный, пример можно? Не актуально Да и ладно Сначала убираем коретки переноса, потом умножаем на все '',_(пробел) убираем с конца лишние, и добавляем по пунктам. Для оптимизации можно убрать inc и вложить в скобки индексы, и в конце inc-нуть(Но как то пофиг). Если в конце есть перенос, всегда добавляет запятую с пробелом "'ss1,', 's2', ". Если строка кончается, и нет переносов, то будет "'ss1,', 's2'" Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 21:12 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Путей несколько Первый, создаете на сервере таблицу с типа session_id, value и сливаете туда нужные Вам значения. После чего можете спокойно использовать эту таблицу для джойна со своим идентификатором session_id. Путь второй, как вам уже сказали, строка с разделителем которую разбираете на сервере. Некое подобие этого решения передавать в параметре xml который обычно на сервере можно использовать для запросов. Но тут уже от возможностей сервера. Путь третий, у некоторых sql серверов есть табличные параметры, т.е в качестве параметра на сервер передается Ваш датасет ну и соответственно там Вы его уже можете полноценно использовать как таблицу. Тут зависит от вашего сервера и компонентов которые вы используете, далеко не все это умеют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 21:14 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet DimaBr, нет отрабатывает как надо! Спасибо за идею! Советую формировать строку не через Запятую, а например так "<123><456><789>" и тогда запрос будет такого вида Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 21:27 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnetа как вы делаете, может подскажите? Вы не поверите, но разные вещи я делаю разными способами. Может, уже скажете, что именно Вы пытаетесь сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 22:06 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
DarkMaster wsnet, 1) Тебе нужно точное совпадение? Именно "Вася и Петя и Ваня"? 2) Я бы тупо слеил IN кляузу обычным циклом и прилепил к запросу. Код: pascal 1. 2. побаяню Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 22:22 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
rgreat DarkMaster wsnet, 1) Тебе нужно точное совпадение? Именно "Вася и Петя и Ваня"? 2) Я бы тупо слеил IN кляузу обычным циклом и прилепил к запросу. Код: pascal 1. 2. побаяню Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Код: plaintext 1. 2. Хорошо, но данный код у меня не работает если в среде пропишем: Код: pascal 1. А в коде формируем MyParam: Код: pascal 1. 2. 3. Интересно почему так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2020, 22:45 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet Интересно почему так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 00:26 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnetИнтересно почему так? Потому что ты не понимаешь как это работает и пытаешься делать странные вещи типа "получить данные, которые уже здесь есть". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 00:27 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet, Вот здесь у тебя ID что? Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 02:32 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
DarkMaster wsnet, Вот здесь у тебя ID что? Код: plsql 1. Неверно выразился не id, а name, то есть запрос вида Код: pascal 1. MyParam собираю так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. В итоге строка получается 'Вася','Петя', но запрос не выбирает эти записи, 0 redords. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 10:54 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet, чтоб не городить огород, не лучше ль передать как макрос? Код: sql 1. а в коде передать Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 11:05 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
GrigoriyFomin wsnet, чтоб не городить огород, не лучше ль передать как макрос? Код: sql 1. а в коде передать Код: pascal 1. Не хочу макросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 11:17 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet В итоге строка получается 'Вася','Петя', но запрос не выбирает эти записи, 0 redords. 2) Если запрос на другом клиенте отрабатывает, а из дельфы нет, то тогда смотрим что именно (целиком) уходит на сервер и сравниваем с тем, что отрабатывает корректно. 3) Но если ты упрямо не пользуешься отладчиком (он нужен в п. 2), когда тебе настоятельно советуют это сделать, ты будешь возиться с подобной фигнёй неделями, растрачивая своё и чужое время. 4) До сих пор нет полного кода: от формирования параметра и до отправки запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 12:28 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Gluck99До сих пор нет полного кода До сих пор нет даже описания задачи. Только кривые попытки сделать что-то непонятное. Какой-то список имён в TStringList, непонятно откуда-то взявшийся. Какой-то запрос, непонятно зачем посылающийся на сервер (плюс намёки, что это не настоящий запрос, а чисто для примера). PS: А если копнуть, то может внезапно оказаться, что ни список, ни запрос не нужны, а достаточно пробежаться по записям, отмеченным галочкой в каком-нибудь EhGrid.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 12:43 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, какой ты нудный... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 13:10 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet, Код: 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. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 13:56 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Если сравнить мою функцию с функцией которую используете GetFormat - 8.169088 ParamsAsStr - 12.678366 Выгода составляет 4.249813 сек. При этом мы получаем Код: sql 1. Аналогично функции ParamsAsStr Код: sql 1. Код: 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. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 14:19 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet Коллеги, подскажите есть запрос типа Код: pascal 1. Параметр name_list получаю из TStringList, вопрос правильно ли это и как сделать чтобы параметр принял значение типа: 'Вася','Петя', а не как 'Вася, Петя'. Как делаете вы? Код: sql 1. Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 15:46 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, не ясно одно. есть запрос Код: pascal 1. 2. 3. 4. Вывод 0 записей, хотя записи с данными id есть. Вопрос почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 21:43 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnet Вопрос почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 22:03 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
wsnetВопрос почему? Проблема в прокладке. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 22:05 |
|
||
|
Множественный выбор в запросе
|
|||
|---|---|---|---|
|
#18+
ВсеРазумный Если сравнить мою функцию с функцией которую используете GetFormat - 8.169088 ParamsAsStr - 12.678366 А если вот так: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2020, 22:29 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038377]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
102ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 391ms |

| 0 / 0 |
