Нескольких запросов подряд в одной строке (через ADODB)
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Нескольких запросов подряд в одной строке... Expand / Collapse
Автор
Сообщение
18.11.2001 10:13
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 23.11.2001 16:34
Сообщ.: 30, Visits: 331
Господа, подскажите, если можете...

Сначала - введение, по простоте душевной, при работе с базами использую следующую конструкцию (ввиду ее краткости и удобства):

dim cn, rs
set cn = Server.CreateObject("ADODB.Connection")
cn.Open strDB
set rs = cn.Execute(strSQL)

где strDB - корректная строка соединения с базой данных, strSQL - запрос к базе который нужно выполнить.

Теперь сам вопрос - необходимо добавить в базу запись и узнать ее идентификатор для дальнейшей обработки (банально). Выполняю:

INSERT INTO myTable (field1, field2) VALUES (1,2); SELECT @@IDENTITY AS 'ID';


то обратиться к получаемому rs как к rs("ID") не получается... ошибка выходит... по сути, проблема ясна -- в результате запроса получается не один рекордсет, а два... первый - пустой, второй - нужный, но как добраться до второго??? подскажите, очень нужно...

и еще, если я дам подряд:

set rs = cn.Execute("INSERT INTO myTable (field1, field2) VALUES (1,2)")
set rs = cn.Execute("SELECT @@IDENTITY AS 'ID'")

то существуют ли шансы, что я полу не свой @@IDENTITY??? вроде бы он уникален для каждого соединения с базой данных... так??? может быть это и есть возможное решение???
Сообщ. #733299
18.11.2001 10:39
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 28.06.2002 21:38
Сообщ.: 47, Visits: 518
Получить второй Recordset можно rs.NextRecordset.
Если же ты хочешь просто узнать количество обновленных строк, то выполняй SQL через Command метод Execute которой вторым пареметром принимает переменную в которой возвращает количество записей, на которые воздействовала операция.
Кстати, Recordset возвращает только операция Select.
Сообщ. #733306
18.11.2001 11:14
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

участник
Last Login: 23.11.2001 16:34
Сообщ.: 30, Visits: 331
о, блин, спасибо, удивительная оперативность :))

кстати, моешь что-нибуьд сказать по этой теме:
http://www.relib.com/forums/topic.asp?id=732192
Сообщ. #733312
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 1:43