SqlDataReader.Read Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перемещает SqlDataReader к следующей записи.
public:
override bool Read();
public override bool Read ();
override this.Read : unit -> bool
Public Overrides Function Read () As Boolean
Возвращаемое значение
Значение true
, если имеются другие строки; в противном случае — значение false
.
Реализации
Исключения
SQL Server вернул ошибку во время выполнения текста команды.
Примеры
В следующем примере создаются SqlConnection, SqlCommandи SqlDataReader. В этом примере данные считываются и записываются в окно консоли. Затем код закрывает SqlDataReader. автоматически SqlConnection закрывается в конце using
блока кода.
using Microsoft.Data.SqlClient;
class Program
{
static void Main()
{
string str = "Data Source=(local);Initial Catalog=Northwind;"
+ "Integrated Security=SSPI";
ReadOrderData(str);
}
private static void ReadOrderData(string connectionString)
{
string queryString =
"SELECT OrderID, CustomerID FROM dbo.Orders;";
using (SqlConnection connection =
new SqlConnection(connectionString))
{
SqlCommand command =
new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
// Call Read before accessing data.
while (reader.Read())
{
ReadSingleRow((IDataRecord)reader);
}
// Call Close when done reading.
reader.Close();
}
}
private static void ReadSingleRow(IDataRecord record)
{
Console.WriteLine(String.Format("{0}, {1}", record[0], record[1]));
}
}
Комментарии
Позиция SqlDataReader по умолчанию находится перед первой записью. Поэтому необходимо вызвать , Read чтобы начать доступ к любым данным.
Одновременно может быть открыт только один SqlDataReader
SqlConnection связанный объект, и любая попытка открыть другую будет завершаться ошибкой, пока первая из них не будет закрыта. Аналогичным образом, пока SqlDataReader
используется , связанный SqlConnection
объект занят обслуживанием до тех пор, пока вы не вызовете Close.