Чтение нескольких наборов записей - PullRequest
1 голос
/ 22 февраля 2010

У меня есть сохраненный процесс, который возвращает 6 результатов выбора оператора. Я пытаюсь использовать один набор записей для выполнения SP и получить записи для каждого оператора выбора но я получаю 0 или пустые записи, когда читаю их,

Как я могу запросить набор записей с несколько операторов выбора из хранимая процедура?

например:

Set rs = Server.CreateObject("ADODB.Recordset")     
strSql = "Exec [dbo].[xyz] '"&param1&"', '"&param2&"', '"&param3& "'"   
rs.open strSql,CN,3,3       

    Do While Not rs.EOF 
        if rs.recordcount > 0 then
            r1 = rs.GetString(, , ", ", "<BR>" ) 
        else
            r1 = 0
        end if
    rs.MoveNext
    Loop    

    Set rs = rs.NextRecordset()
        Do While Not rs.EOF 
        if rs.recordcount > 0 then
            r2 = rs.GetString(, , ", ", "<BR>" ) 
        else
            r2 = 0
        end if
    rs.MoveNext
    Loop

1 Ответ

3 голосов
/ 22 февраля 2010

rs.NextRecordset() - это правильный способ получить следующий набор записей, возвращенный хранимой процедурой или другой командой, поэтому ваш код должен работать.

Что у тебя не работает?

Кроме того, я надеюсь, что переменная strSql создана не так, как вы отправили (strSql = "Exec [dbo].[xyz] '"&param1&"', '"&param2&"', '"&param3& "'"), поскольку это явная уязвимость SQL-инъекция .

...