|
|
|
MySQL+UniDAC+SQLInsert
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Простите, если уже где-то мелькал данный вопрос, но в моем контексте я ответа не видел. В общем ситуация такая. Пишу запрос в DataSet ( UniDAC ) Код: plsql 1. 2. 3. 4. У данного датасета также прописываю SQLInsert на вкладке UpdateSQL . В нем ничего необычного нет. В таком режиме все работает хорошо. Новые записи успешно добавляются. Теперь... Мне нужно данные из датасета сортировать и представить их упорядоченными. Естественно, я добавляю операцию сортировки в запрос Код: plsql 1. 2. 3. 4. 5. Всё работает! Усложняю этот запрос, добавлением связи с другой таблицей и у меня вставка начинает вываливаться с ошибкой "Field Id must have a value". Т.е. связка операции сортировки и LEFT JOIN приводит к такому результату. Вот итоговый запрос выборки Код: plsql 1. 2. 3. 4. 5. 6. и запрос SQLInsert, который не менялся на всем протяжении изменений (взят для примера). Поле id - автоинкремент Код: plsql 1. 2. 3. 4. Я не понимаю почему Delphi вываливает ошибку mysql, если вставка прописана отдельным запросом. Я даже вместо параметра :id просто прописывал 0 . Все равно вываливается. А вот если пропишу число конкретное (вместо автоинкремента), то все хорошо. Друзья, кто сталкивался с таким? Как выходить из этой ситуации? Не думаю, что я один с такой проблемой сталкивался и, вероятно, есть простое решение. Но я его не нахожу пока. Надеюсь объяснил суть нормально... Заранее благодарен всем! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2016, 06:46 |
|
||
|
MySQL+UniDAC+SQLInsert
|
|||
|---|---|---|---|
|
#18+
В общем, я так понимаю, это какие-то приколы самих компонентов. Вроде нашел обходное решение. У DataSet есть метод SetOrderBy(). Соответственно в самом запросе order убираем. Перед вставкой вызываем этот метод с пустым параметром, т.е. затираем сортировку, если она там была. Далее выполняем вставку новой записи через метод датасета DataSet.Insert. Когда запись успешно добавляется, то снова вызываем метод SetOrderBy(' date_incident'), указывая в нем поле сортировки. Таким образом, отражение данных в привязанной таблице визуально не изменится для пользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2016, 08:35 |
|
||
|
|

start [/forum/topic.php?fid=47&tid=1832141]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 456ms |

| 0 / 0 |
