|
|
|
DataTable.Merge() с первичным ключом
|
|||
|---|---|---|---|
|
#18+
Приветствую! Есть исходная таблица (DataTable): IDVal...10...20... В ней колонка ID указана как Primary Key. Затем программно генерируется вторая DataTable: IDVal1100240350 Задача - обновить колонку Val в первой таблице значениями из второй. Вот максимально упрощенный код генерации второй таблицы и слияния: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Я понимаю, что можно решить проблему если добавить в код генерации dt2 проверку существования ключа каждой строки в dt1, но мне кажется, что это некрасиво. Есть ли другое, элегантное решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2010, 17:29 |
|
||
|
DataTable.Merge() с первичным ключом
|
|||
|---|---|---|---|
|
#18+
Не понял, какой экспепшен? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 10:06 |
|
||
|
DataTable.Merge() с первичным ключом
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, эксепшн возникал по другой причине, которую я уже устранил (ключевая колонка неправильно называлась). Но проблема все равно осталась, в таблице dt1 примерно 20 колонок, и после операции Merge в ней появляется еще одна запись (Id=3) с заполненными ID и Val а всё остальное - пусто. Моя задача - объединять таблицы так, чтобы лишние строки отбрасывались, то есть в итоге получилась такая таблица: IDVal...1100...240... На данный момент я реализовал заполнение таблицы dt2 следующим образом (код сильно упрощён): Код: plaintext 1. 2. 3. 4. 5. 6. Если иначе нельзя никак, тогда закроем тему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 14:07 |
|
||
|
DataTable.Merge() с первичным ключом
|
|||
|---|---|---|---|
|
#18+
Ну это уже не мерж, а подобие джойна :) Предлагаю выкрутиться так, чтобы не делать лишних циклов. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2010, 14:34 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=54&tid=1351162]: |
0ms |
get settings: |
14ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
36ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 242ms |
| total: | 354ms |

| 0 / 0 |
