2016-03-22 2 views
0

У меня есть SQL-скрипт с циклом. На каждой итерации меняю предложение where. Таким образом, я получаю несколько отображений. Но программа .net читает только первый выбор. Сценарий SQL работает в ssms.SqlDataReader прочитал весь запрос

Это мой SQL скрипт

while (@aktuellParam <= @countParam) 
Begin 
    SELECT name1, 
     name2 
    FROM dbo.tableName 
    WHERE name like @var 
    SET @aktuellParam = aktuellParam+1 
END 

Это мой vb.net код

Using reader As SqlClient.SqlDataReader = _server.ConnectionContext.ExecuteReader(script) 
    Dim lfdnr As Integer = 1 

    Do While reader.Read() 
     spaltenListe.Add(New ISpalten With 
           { 
            .Name1= reader.GetString(reader.GetOrdinal("name1")), 
            .Name2= reader.GetString(reader.GetOrdinal("name2")) 
           }) 
     lfdnr = lfdnr + 1 
    Loop 
    reader.Close() 
End Using 
+0

Подробнее об использовании общего выражения таблицы –

+4

Это потому, что последующие выборки фактически находятся в другом результирующем наборе. После каждого чтения ваш читатель должен выполнить .NextResult. – UnhandledExcepSean

+0

Почему rbar? Что случилось с одним оператором select и BETWEEN? – mxix

ответ

2

Это потому, что последующие выбирает фактически в другом наборе результатов. После каждого чтения ваш читатель должен выполнить .NextResult.

Смежные вопросы