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

start [/forum/topic.php?fid=58&msg=39903719&tid=2038763]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 518ms |

| 0 / 0 |
