Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
Здраствуйте. Есть у меня БД на аксессе. Надо написать вебапп для работы с ней. Суть проблемы: Есть DataSet в котором 2 DataTable. Определил DataRelation между ними. Связь идеть по полю в Access типа Счетчик. При редактировании полей мне известен индекс текущей записи в таблице. А при добавленни новой - он пока неизвестен. Поэтому когда делаю апдейт - получаеться в дочернюю таблицу, в ключевое поле пишуться 0 Код: plaintext 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. как мне добавить значение в первую таблицу, чтобы и во второй были корректные данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 17:16 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
посмотри статью в MSDN Retrieving Identity or Autonumber Values ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2005, 23:02 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
Пробовал SELECT @@IDENTITY не работает в моем Access по непонятным причинам. остановился на Код: plaintext и стало мне счастье. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 16:03 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
Yura Mironchukостановился на ... и стало мне счастье. Не надо так делать. Т.к. есть вероятность, что вы получите ID не своей добавленой строки. И эта вероятность будет расти с увеличением числа пользователей вашего приложения, либо других приложений, работающих с таблицей [Opportunity Table] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 16:26 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
Надо подписываться на RowUpdated вашего DataAdapter'а, а там уже на Insert запрашивать SELECT @@IDENTITY, например через ExecuteScalar(). Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 16:32 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
Пробовал SELECT @@IDENTITY не работает в моем Access по непонятным причинам. И почему не работает SELECT @@IDENTITY - каким образом вы его использовали? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 16:36 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
реально @@IDENTITY работают только в Jet 4.0 базах (Jet OLEDB:Engine Type должно быть равно 5 [это базы, созданные в Access 2000 и выше]). для баз старого формата Engine Type = 3 (Access 2) Engine Type = 4 (Access 97) @@IDENTITY не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 16:54 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
Надо смотреть код, который вы мучили. Но и вариант через RowUpdated должен работать, в принципе ИМХО это единственный вариант при использовании MS Access. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 16:57 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
пропустил заголовок топика :) MS Access 2002 работать должно, но теперь, возможно, автор топика (дабы объяснить ситуацию) объявится не скоро... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 16:58 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
OFF: Кузя работать должно, но теперь, возможно, автор топика (дабы объяснить ситуацию) объявится не скоро... Не объявится - объясним и решим за него :-) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2005, 17:01 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
Alexey Kuninov: Знаю что так нельзя, но я на это угробил день. Это единственное что мне помогло. А перед этим еще и парился с QuotedPrefix и втихаря материл умника который пообзывал таблицы и поля с пробелами. Кузя: статью смотрел, но после того как на выходных в екстренном темпе прикрутил SELECT TOP 1. После этого разбираться с ней не стал. Sa: Я использовал таким образом: через апликуху добавил новую запись. А потом через запрос в аксесе SELECT @@IDENTITY. Тут я наверняка не прав. А как правильно опять же не знаю и разбираться не стал. Я так понял что это @@IDENTITY надо связать с моим адаптером. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. судя по всему надо так. Я не пробовал. И после этого в датасете должно появиться нужное значение в поле, соответствуещем счетчику? P.S Огромное спасибо всем кто откликнулся и наговорил дельных вещей. Ато это было бы мое последнее разочарование в форумах :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 14:49 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
судя по всему надо так. Я не пробовал. И после этого в датасете должно появиться нужное значение в поле, соответствуещем счетчику? Да!!! только не забываем подписаться на RowUpdated Код: plaintext 1. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 14:58 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
нужное значение в поле, соответствуещем счетчику? да, но естественно привиденный вами код надо поправить, в частности: Код: plaintext 1. 2. 3. 4. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 15:13 |
|
||
|
ADO.NET + MS Access 2002
|
|||
|---|---|---|---|
|
#18+
Sa Спасибо за комменты, но последний уже был лишним :-) То я просто взял код со статьи и естественно в моем случае будут мои параметры :-) Общий вывод: всеже както будет свободное время - переделаю с onRowUpdated ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2005, 16:23 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=121&tid=1353837]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 177ms |

| 0 / 0 |
