Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ADO изнутри (наверное глупый вопрос) / 3 сообщений из 3, страница 1 из 1
26.09.2007, 16:56
    #34828699
U-gene
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO изнутри (наверное глупый вопрос)
...переклинило меня неподецки...

Скажите, а как в ADO происходит обмен данными между клиентом и сервером? SQL используется или какие то внутренние штучки к SQLу отношения не имеющие?

Я всегда думал что со SQL системами можно использовать только и только SQL. Исхоля из чего я (может быть и наверное наивно) предполагал, что в ADO тоже унутри как то SQL используется. Например, формируя RecordSet на кленте оно фигачит какую либо команду на SQL что бы вернуть данные из которых оно и делает этот самый RecordSet. А потом, как мы данные добавили или изменили, оно по какому-нить Update БАЦ! и посылает на сервер скульный INSERT или UPDATE. Но вот тогда не понимаю я, как оно новые записи вставляет. Особенно, где автоинкриментоное поле есть.

Поясню. Автоинкриментное поле инициализируется новым знаением после того, как оно добавлено. То есть когда мы посылаем INSERT новой записи, то клиент не знает какое значение поля будет. Соответвственно он не может вернуть это значние каким либо SELECTOM, что бы потом, после ADOшного Update'а, запихнуть это значение в соответсвующее поле свежевставленной записи клиентского RecordSet'а. Однако это значение так как то появляется. Как?

В общем , посоветуйте что-нить из литературы по этой теме (типа "ADO изнутри"). Ежели что, звиняйте за глупый вопрос.
...
Рейтинг: 0 / 0
26.09.2007, 16:57
    #34828709
Нахлобуч
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO изнутри (наверное глупый вопрос)
U-gene...переклинило меня неподецки...

Скажите, а как в ADO происходит обмен данными между клиентом и сервером? SQL используется или какие то внутренние штучки к SQLу отношения не имеющие?
SQL
U-gene
Поясню. Автоинкриментное поле инициализируется новым знаением после того, как оно добавлено. То есть когда мы посылаем INSERT новой записи, то клиент не знает какое значение поля будет. Соответвственно он не может вернуть это значние каким либо SELECTOM, что бы потом, после ADOшного Update'а, запихнуть это значение в соответсвующее поле свежевставленной записи клиентского RecordSet'а. Однако это значение так как то появляется. Как?
Вообще, это достигается двумя командами (пример для SQL Server):
Код: plaintext
1.
2.
insert into table (a, b) values (@a, @b)
select scope_identity()
...
Рейтинг: 0 / 0
26.09.2007, 19:52
    #34829428
U-gene
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADO изнутри (наверное глупый вопрос)
Век живи - век учись:) Спасибо.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ADO изнутри (наверное глупый вопрос) / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]