
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.12.2019, 14:12
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
Приветствую. Требуется удалить запись из набора DataSet. Код: pascal 1. 2. 3. 4. 5. 6. При первом запуске программы первый ShowMessage показывает article, а второй показывает NULL. Этого я и добиваюсь. Но при последующих запусках программы даже первый ShowMessage показывает NULL. Запись в базе данных не удалена, но она больше не отображается. Для чего я это делаю: Есть два больших набора данных, которые мне требуется сравнить. Прохожу циклом по первому набору данных и нахожу соответствующую запись из второго. Если запись существует, удаляю ее из второго набора. В итоге во втором наборе останутся только записи, отсутствующие в первом. Может есть более элегантное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 14:36
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
HobbytF, Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 14:46
|
|||
|---|---|---|---|
ADOQuery.Delete |
|||
|
#18+
HobbytF Для чего я это делаю: Есть два больших набора данных, которые мне требуется сравнить. Прохожу циклом по первому набору данных и нахожу соответствующую запись из второго. Если запись существует, удаляю ее из второго набора. В итоге во втором наборе останутся только записи, отсутствующие в первом. Может есть более элегантное решение? Есть. Выполнить всего один запрос вроде такого Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 15:10
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
kv67 HobbytF, Код: pascal 1. 2. Нет, мне не нужно удалять эту запись из базы данных. Мне нужно только найти разницу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 15:11
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
Квейд HobbytF Для чего я это делаю: Есть два больших набора данных, которые мне требуется сравнить. Прохожу циклом по первому набору данных и нахожу соответствующую запись из второго. Если запись существует, удаляю ее из второго набора. В итоге во втором наборе останутся только записи, отсутствующие в первом. Может есть более элегантное решение? Есть. Выполнить всего один запрос вроде такого Код: plsql 1. Это тоже удаление из базы. У мне нужно на этапе обработки этих датасетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 15:16
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
HobbytF, Код: pascal 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 15:56
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
HobbytF Нет, мне не нужно удалять эту запись из базы данных. Мне нужно только найти разницу. HobbytF Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 21:14
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
kv67 HobbytF, Код: pascal 1. 2. Это тоже не то. Дело в том, что первый датасет формируется из бд oracle, второй - из postgresql. Задача - их сравнить в приложении. Все, что можно сделать в бд, я уже сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 21:20
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
_Vasilisk_ HobbytF Нет, мне не нужно удалять эту запись из базы данных. Мне нужно только найти разницу. HobbytF Код: pascal 1. Да вроде определенно сказал. Нужно удалить запись из датасета, а не из базы. Может быть я неправильно термины употреляю. В результате ADOQuery.Open формируется набор данных - датасет. Вот что я имею в виду. Другой вопрос - что делает метод delete? Он и из базы не удаляет, и из датасета удаляет напрочь (описал в первом посте). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 21:58
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
HobbytF _Vasilisk_ пропущено... пропущено... Вы как-то определитесь Да вроде определенно сказал. Нужно удалить запись из датасета, а не из базы. Может быть я неправильно термины употреляю. В результате ADOQuery.Open формируется набор данных - датасет. Вот что я имею в виду. Другой вопрос - что делает метод delete? Он и из базы не удаляет, и из датасета удаляет напрочь (описал в первом посте). Дико извиняюсь. ADOQuery.Delete все-таки удаляет запись из базы. А это совершенно не нужно. Значит этот метод не подходит. Вообще, есть ли такой метод, который удовлетворяет моей потребности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 22:32
|
|||
|---|---|---|---|
ADOQuery.Delete |
|||
|
#18+
HobbytF Вообще, есть ли такой метод, который удовлетворяет моей потребности? Метод есть, просто вы не можете сформулировать чего хотите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 22:45
|
|||
|---|---|---|---|
ADOQuery.Delete |
|||
|
#18+
DimaBr HobbytF Вообще, есть ли такой метод, который удовлетворяет моей потребности? Метод есть, просто вы не можете сформулировать чего хотите Перевожу: он хочет сравнить две таблицы в разных СУБД и получить разницу в датасете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 23:07
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
HobbytF kv67 HobbytF, Код: pascal 1. 2. Это тоже не то. Дело в том, что первый датасет формируется из бд oracle, второй - из postgresql. Задача - их сравнить в приложении. Все, что можно сделать в бд, я уже сделал. Самое смешное, что то, что вы хотите делается именно в СУБД. Либо один сервер линкуется к другому, либо с помощью openquery. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 23:32
|
|||
|---|---|---|---|
ADOQuery.Delete |
|||
|
#18+
Сравниваем ПЕРВЫЙ датасет со ВТОРЫМ (а ведь можно и сравнивать наоборот) на клиенте Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2019, 23:38
|
|||
|---|---|---|---|
|
|||
ADOQuery.Delete |
|||
|
#18+
DimaBr Сравниваем ПЕРВЫЙ датасет со ВТОРЫМ (а ведь можно и сравнивать наоборот) на клиенте Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. автор...Есть два больших набора данных, которые мне требуется сравнить. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.12.2019, 00:47
|
|||
|---|---|---|---|
ADOQuery.Delete |
|||
|
#18+
автор...Есть два больших набора данных, которые мне требуется сравнить. ... Для человека который не разбирается что такое Delete и 1000 записей - большой набор данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.12.2019, 08:09
|
|||
|---|---|---|---|
ADOQuery.Delete |
|||
|
#18+
HobbytF ADOQuery.Delete все-таки удаляет запись из базы. А это совершенно не нужно. Значит этот метод не подходит. Вообще, есть ли такой метод, который удовлетворяет моей потребности? 1) Попробуйте использовать memory DataSet. По-крайней мере, удаление записи у них не удаляет записи на сервере. 2) Переливаете из второй БД в первую нужную таблицу и сравниваете на стороне SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2038763]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
145ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 446ms |

| 0 / 0 |
