OracleDataReader Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir veri kaynağından yalnızca ileriye doğru veri satırları akışını okumanın bir yolunu sağlar. Bu sınıf devralınamaz.
public ref class OracleDataReader sealed : MarshalByRefObject, IDisposable, System::Collections::IEnumerable, System::Data::IDataReader
public ref class OracleDataReader sealed : System::Data::Common::DbDataReader
public sealed class OracleDataReader : MarshalByRefObject, IDisposable, System.Collections.IEnumerable, System.Data.IDataReader
public sealed class OracleDataReader : System.Data.Common.DbDataReader
type OracleDataReader = class
inherit MarshalByRefObject
interface IDataReader
interface IDisposable
interface IDataRecord
interface IEnumerable
type OracleDataReader = class
inherit DbDataReader
Public NotInheritable Class OracleDataReader
Inherits MarshalByRefObject
Implements IDataReader, IDisposable, IEnumerable
Public NotInheritable Class OracleDataReader
Inherits DbDataReader
- Devralma
- Devralma
- Uygulamalar
Örnekler
Aşağıdaki örnek bir OracleConnection, OracleCommandve OracleDataReaderoluşturur. Örnek, verileri okuyup konsola yazar. Son olarak, örnek öğesini ve ardından öğesini OracleConnectionkapatırOracleDataReader.
public void ReadData(string connectionString)
{
string queryString = "SELECT EmpNo, EName FROM Emp";
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand command = new OracleCommand(queryString, connection);
connection.Open();
using(OracleDataReader reader = command.ExecuteReader())
{
// Always call Read before accessing data.
while (reader.Read())
{
Console.WriteLine(reader.GetInt32(0) + ", " + reader.GetString(1));
}
}
}
}
Public Sub ReadData(ByVal connectionString As String)
Dim queryString As String = "SELECT EmpNo, EName FROM Emp"
Using connection As New OracleConnection(connectionString)
Dim command As New OracleCommand(queryString, connection)
connection.Open()
Using reader As OracleDataReader = command.ExecuteReader()
' Always call Read before accessing data.
While reader.Read()
Console.WriteLine(reader.GetInt32(0).ToString() + ", " _
+ reader.GetString(1))
End While
End Using
End Using
End Sub
Açıklamalar
oluşturmak OracleDataReaderiçin, doğrudan bir oluşturucu kullanmak yerine nesnesinin OracleCommand yöntemini çağırmanız ExecuteReader gerekir.
Veriler okunurken başka bir işlem veya iş parçacığı tarafından bir sonuç kümesinde yapılan değişiklikler, kullanıcı tarafından OracleDataReadergörülebilir.
IsClosed ve RecordsAffected kapatıldıktan sonra OracleDataReader çağırabileceğiniz tek özelliklerdir. Bazı durumlarda, çağrısı yapmadan önce aramanız CloseRecordsAffectedgerekir.
Herhangi bir zamanda birden OracleDataReader fazla açık olabilir.
Aşağıdaki iki Visual Basic örneğinde Oracle OracleDataReaderREF CURSOR
almak için nasıl kullanılacağı gösterilmektedir. Bu örneklerde Oracle Scott/Tiger şemasında tanımlanan ve aşağıdaki PL/SQL paketi ile paket gövdesini gerektiren tablolar kullanılır. Örnekleri kullanmak için bunları sunucunuzda oluşturmanız gerekir.
Oracle sunucusunda aşağıdaki Oracle paketini İçerik Oluşturucu.
CREATE OR REPLACE PACKAGE CURSPKG AS
TYPE T_CURSOR IS REF CURSOR;
PROCEDURE OPEN_ONE_CURSOR (N_EMPNO IN NUMBER,
IO_CURSOR IN OUT T_CURSOR);
PROCEDURE OPEN_TWO_CURSORS (EMPCURSOR OUT T_CURSOR,
DEPTCURSOR OUT T_CURSOR);
END CURSPKG;
/
Oracle sunucusunda aşağıdaki Oracle paket gövdesini İçerik Oluşturucu.
CREATE OR REPLACE PACKAGE BODY CURSPKG AS
PROCEDURE OPEN_ONE_CURSOR (N_EMPNO IN NUMBER,
IO_CURSOR OUT T_CURSOR)
IS
V_CURSOR T_CURSOR;
BEGIN
IF N_EMPNO <> 0 THEN
OPEN V_CURSOR FOR
SELECT EMP.EMPNO, EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME
FROM EMP, DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO
AND EMP.EMPNO = N_EMPNO;
ELSE
OPEN V_CURSOR FOR
SELECT EMP.EMPNO, EMP.ENAME, DEPT.DEPTNO, DEPT.DNAME
FROM EMP, DEPT
WHERE EMP.DEPTNO = DEPT.DEPTNO;
END IF;
IO_CURSOR := V_CURSOR;
END OPEN_ONE_CURSOR;
PROCEDURE OPEN_TWO_CURSORS (EMPCURSOR OUT T_CURSOR,
DEPTCURSOR OUT T_CURSOR)
IS
V_CURSOR1 T_CURSOR;
V_CURSOR2 T_CURSOR;
BEGIN
OPEN V_CURSOR1 FOR SELECT * FROM EMP;
OPEN V_CURSOR2 FOR SELECT * FROM DEPT;
EMPCURSOR := V_CURSOR1;
DEPTCURSOR := V_CURSOR2;
END OPEN_TWO_CURSORS;
END CURSPKG;
/
Bu Visual Basic örneği, parametre REF CURSOR
döndüren bir PL/SQL saklı yordamı yürütür ve değeri olarak OracleDataReaderokur.
Private Sub ReadOracleData(ByVal connectionString As String)
Dim connection As New OracleConnection(connectionString)
Dim command As New OracleCommand()
Dim reader As OracleDataReader
connection.Open()
command.Connection = connection
command.CommandText = "CURSPKG.OPEN_ONE_CURSOR"
command.CommandType = CommandType.StoredProcedure
command.Parameters.Add(New OracleParameter("N_EMPNO", OracleType.Number)).Value = 7369
command.Parameters.Add(New OracleParameter("IO_CURSOR", OracleType.Cursor)).Direction = ParameterDirection.Output
reader = command.ExecuteReader()
While (reader.Read())
' Do something with the values.
End While
reader.Close()
connection.Close()
End Sub
Bu Visual Basic örneği, iki REF CURSOR
parametre döndüren bir PL/SQL saklı yordamı yürütür ve kullanarak OracleDataReaderdeğerleri okur.
Private Sub ReadOracleData(ByVal connectionString As String)
Dim dataSet As New DataSet()
Dim connection As New OracleConnection(connectionString)
Dim command As New OracleCommand()
Dim reader As OracleDataReader
connection.Open()
command.Connection = connection
command.CommandText = "CURSPKG.OPEN_TWO_CURSORS"
command.CommandType = CommandType.StoredProcedure
command.Parameters.Add(New OracleParameter("EMPCURSOR", OracleType.Cursor)).Direction = ParameterDirection.Output
command.Parameters.Add(New OracleParameter("DEPTCURSOR", OracleType.Cursor)).Direction = ParameterDirection.Output
reader = command.ExecuteReader(CommandBehavior.CloseConnection)
While (reader.Read())
' Do something with the values.
End While
reader.NextResult()
While (reader.Read())
' Do something with the values.
End While
reader.Close()
connection.Close()
End Sub
Bu C# örneği bir Oracle tablosu oluşturur ve bunu verilerle yükler. OracleType yapılarını kullanarak verilere erişmek için bir OracleDataReader kullanmayı gösteren sonraki örneği çalıştırmadan önce bu örneği çalıştırmanız gerekir.
public void Setup(string connectionString)
{
OracleConnection connection = new OracleConnection(connectionString);
try
{
connection.Open();
OracleCommand command = connection.CreateCommand();
command.CommandText ="CREATE TABLE OracleTypesTable (MyVarchar2 varchar2(3000),MyNumber number(28,4) PRIMARY KEY,MyDate date, MyRaw raw(255))";
command.ExecuteNonQuery();
command.CommandText ="INSERT INTO OracleTypesTable VALUES ('test', 2, to_date('2000-01-11 12:54:01','yyyy-mm-dd hh24:mi:ss'), '0001020304')";
command.ExecuteNonQuery();
command.CommandText="SELECT * FROM OracleTypesTable";
}
catch(Exception)
{
}
finally
{
connection.Close();
}
}
Bu C# örneği verilere erişmek için bir OracleDataReader kullanır ve verileri görüntülemek için çeşitli OracleType yapılar kullanır.
public void ReadOracleTypesExample(string connectionString)
{
OracleConnection connection = new OracleConnection(connectionString);
connection.Open();
OracleCommand command = connection.CreateCommand();
try
{
command.CommandText = "SELECT * FROM OracleTypesTable";
OracleDataReader reader = command.ExecuteReader();
reader.Read();
//Using the Oracle specific getters for each type is faster than
//using GetOracleValue.
//First column, MyVarchar2, is a VARCHAR2 data type in Oracle Server
//and maps to OracleString.
OracleString oraclestring1 = reader.GetOracleString(0);
Console.WriteLine("OracleString " + oraclestring1.ToString());
//Second column, MyNumber, is a NUMBER data type in Oracle Server
//and maps to OracleNumber.
OracleNumber oraclenumber1 = reader.GetOracleNumber(1);
Console.WriteLine("OracleNumber " + oraclenumber1.ToString());
//Third column, MyDate, is a DATA data type in Oracle Server
//and maps to OracleDateTime.
OracleDateTime oracledatetime1 = reader.GetOracleDateTime(2);
Console.WriteLine("OracleDateTime " + oracledatetime1.ToString());
//Fourth column, MyRaw, is a RAW data type in Oracle Server and
//maps to OracleBinary.
OracleBinary oraclebinary1 = reader.GetOracleBinary(3);
//Calling value on a null OracleBinary throws
//OracleNullValueException; therefore, check for a null value.
if (oraclebinary1.IsNull==false)
{
foreach(byte b in oraclebinary1.Value)
{
Console.WriteLine("byte " + b.ToString());
}
}
reader.Close();
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
connection.Close();
}
}
Özellikler
Depth |
Geçerli satır için iç içe yerleştirme derinliğini gösteren bir değer alır. |
FieldCount |
Geçerli satırdaki sütun sayısını alır. |
HasRows |
öğesinin bir veya daha fazla satır içerdiğini OracleDataReader belirten bir değer alır. |
IsClosed |
öğesinin OracleDataReader kapatılıp kapatılmadığını gösterir. |
Item[Int32] |
Belirtilen sütunun değerini, sütun sırasıyla yerel biçiminde alır. |
Item[String] |
Belirtilen sütunun değerini, sütun adı verilen yerel biçiminde alır. |
RecordsAffected |
SQL deyiminin yürütülmesiyle değiştirilen, eklenen veya silinen satır sayısını alır. |
VisibleFieldCount |
içinde DbDataReader gizlenmeyen alanların sayısını alır. (Devralındığı yer: DbDataReader) |
Yöntemler
Close() |
OracleDataReader Nesneyi kapatır. |
CloseAsync() |
Nesneyi zaman uyumsuz olarak kapatır DbDataReader . (Devralındığı yer: DbDataReader) |
CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur. (Devralındığı yer: MarshalByRefObject) |
Dispose() |
Bu nesne tarafından kullanılan kaynakları serbest bırakır. |
Dispose() |
DbDataReader sınıfının geçerli örneği tarafından kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: DbDataReader) |
Dispose(Boolean) |
DbDataReader tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır. (Devralındığı yer: DbDataReader) |
DisposeAsync() |
Sınıfın geçerli örneği DbDataReader tarafından kullanılan tüm kaynakları zaman uyumsuz olarak serbest bırakır. (Devralındığı yer: DbDataReader) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetBoolean(Int32) |
Belirtilen sütunun değerini Boole değeri olarak alır. |
GetByte(Int32) |
Belirtilen sütunun değerini bayt olarak alır. |
GetBytes(Int32, Int64, Byte[], Int32, Int32) |
Belirtilen sütun uzaklığından arabelleğe verilen arabellek uzaklığından başlayarak bir dizi olarak bayt akışını okur. |
GetChar(Int32) |
Belirtilen sütunun değerini karakter olarak alır. |
GetChars(Int32, Int64, Char[], Int32, Int32) |
Belirtilen sütun uzaklığından arabelleğe verilen arabellek uzaklığından başlayarak bir dizi olarak bir karakter akışı okur. |
GetColumnSchemaAsync(CancellationToken) |
Bu, zaman uyumsuz sürümüdür GetColumnSchema(DbDataReader).
Sağlayıcılar uygun bir uygulamayla geçersiz kılmalıdır.
|
GetData(Int32) |
Belirtilen sütun sıralı için bir IDataReader döndürür. |
GetData(Int32) |
İstenen sütun için iç içe veri okuyucu döndürür. (Devralındığı yer: DbDataReader) |
GetDataTypeName(Int32) |
Kaynak veri türünün adını alır. |
GetDateTime(Int32) |
Belirtilen sütunun değerini nesne |
GetDbDataReader(Int32) |
DbDataReader İstenen sütun sıralı için sağlayıcıya özgü bir uygulamayla geçersiz kılınabilecek bir nesne döndürür. (Devralındığı yer: DbDataReader) |
GetDecimal(Int32) |
Belirtilen sütunun değerini nesne |
GetDouble(Int32) |
Belirtilen sütunun değerini çift duyarlıklı kayan nokta numarası olarak alır. |
GetEnumerator() |
Veri okuyucudaki satırlar arasında yineleme yapmak için kullanılabilecek bir IEnumerator döndürür. |
GetFieldType(Int32) |
Nesnenin Type veri türü olan öğesini alır. |
GetFieldValue<T>(Int32) |
Belirtilen sütunun değerini istenen tür olarak alır. (Devralındığı yer: DbDataReader) |
GetFieldValueAsync<T>(Int32, CancellationToken) |
Belirtilen sütunun değerini istenen tür olarak zaman uyumsuz olarak alır. (Devralındığı yer: DbDataReader) |
GetFieldValueAsync<T>(Int32) |
Belirtilen sütunun değerini istenen tür olarak zaman uyumsuz olarak alır. (Devralındığı yer: DbDataReader) |
GetFloat(Int32) |
Belirtilen sütunun değerini tek duyarlıklı kayan noktalı sayı olarak alır. |
GetGuid(Int32) |
Belirtilen sütunun değerini genel olarak benzersiz tanımlayıcı (GUID) olarak alır. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetInt16(Int32) |
Belirtilen sütunun değerini 16 bit imzalı tamsayı olarak alır. |
GetInt32(Int32) |
Belirtilen sütunun değerini 32 bit imzalı tamsayı olarak alır. |
GetInt64(Int32) |
Belirtilen sütunun değerini 64 bit işaretli tamsayı olarak alır. |
GetLifetimeService() |
Geçersiz.
Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır. (Devralındığı yer: MarshalByRefObject) |
GetName(Int32) |
Belirtilen sütunun adını alır. |
GetOracleBFile(Int32) |
Belirtilen sütunun değerini nesne OracleBFile olarak alır. |
GetOracleBinary(Int32) |
Belirtilen sütunun değerini nesne OracleBinary olarak alır. |
GetOracleDateTime(Int32) |
Belirtilen sütunun değerini nesne OracleDateTime olarak alır. |
GetOracleLob(Int32) |
Belirtilen sütunun değerini nesne OracleLob olarak alır. |
GetOracleMonthSpan(Int32) |
Belirtilen sütunun değerini nesne OracleMonthSpan olarak alır. |
GetOracleNumber(Int32) |
Belirtilen sütunun değerini nesne OracleNumber olarak alır. |
GetOracleString(Int32) |
Belirtilen sütunun değerini nesne OracleString olarak alır. |
GetOracleTimeSpan(Int32) |
Belirtilen sütunun değerini nesne OracleTimeSpan olarak alır. |
GetOracleValue(Int32) |
Belirtilen sıradaki sütunun değerini Oracle biçiminde alır. |
GetOracleValues(Object[]) |
Geçerli satırdaki tüm öznitelik sütunlarını Oracle biçiminde alır. |
GetOrdinal(String) |
Sütunun adı verilip sütun sırasını alır. |
GetProviderSpecificFieldType(Int32) |
Temel alınan sağlayıcıya özgü alan türünün gösterimi olan bir |
GetProviderSpecificValue(Int32) |
Temel alınan sağlayıcıya özgü alan türünün gösterimi olan bir |
GetProviderSpecificValues(Object[]) |
Temel alınan sağlayıcıya özgü değerlerin bir gösterimi olan bir nesne dizisi alır. |
GetSchemaTable() |
OracleDataReader'ın sütun meta verilerini açıklayan bir DataTable döndürür. |
GetSchemaTableAsync(CancellationToken) |
Bu, zaman uyumsuz sürümüdür GetSchemaTable().
Sağlayıcılar uygun bir uygulamayla geçersiz kılmalıdır.
|
GetStream(Int32) |
Belirtilen sütundan veri almak için bir akış alır. (Devralındığı yer: DbDataReader) |
GetString(Int32) |
Belirtilen sütunun değerini dize olarak alır. |
GetTextReader(Int32) |
Sütundan veri almak için bir metin okuyucu alır. (Devralındığı yer: DbDataReader) |
GetTimeSpan(Int32) |
Belirtilen sütunun değerini olarak |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
GetValue(Int32) |
Belirtilen sıradaki sütunun değerini yerel biçiminde alır. |
GetValues(Object[]) |
Bir nesne dizisini geçerli satırın sütun değerleriyle doldurur. |
InitializeLifetimeService() |
Geçersiz.
Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır. (Devralındığı yer: MarshalByRefObject) |
IsDBNull(Int32) |
Sütunun var olmayan veya eksik değerler içerdiğini belirten bir değer alır. |
IsDBNullAsync(Int32, CancellationToken) |
Zaman uyumsuz olarak, sütunun var olmayan veya eksik değerler içerdiğini belirten bir değer alır. (Devralındığı yer: DbDataReader) |
IsDBNullAsync(Int32) |
Zaman uyumsuz olarak, sütunun var olmayan veya eksik değerler içerdiğini belirten bir değer alır. (Devralındığı yer: DbDataReader) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
MemberwiseClone(Boolean) |
Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur. (Devralındığı yer: MarshalByRefObject) |
NextResult() |
öğesini OracleDataReader sonraki sonuda ilerler. |
NextResultAsync() |
Bir deyim toplu işleminin sonuçlarını okurken okuyucuyu zaman uyumsuz olarak sonraki sonuca ilerler. (Devralındığı yer: DbDataReader) |
NextResultAsync(CancellationToken) |
Bir deyim toplu işleminin sonuçlarını okurken okuyucuyu zaman uyumsuz olarak sonraki sonuca ilerler. (Devralındığı yer: DbDataReader) |
Read() |
öğesini OracleDataReader sonraki kayda ilerler. |
ReadAsync() |
Zaman uyumsuz olarak okuyucuyu bir sonuç kümesindeki bir sonraki kayda ilerler. (Devralındığı yer: DbDataReader) |
ReadAsync(CancellationToken) |
Zaman uyumsuz olarak okuyucuyu bir sonuç kümesindeki bir sonraki kayda ilerler. (Devralındığı yer: DbDataReader) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
IDataRecord.GetData(Int32) |
Bu üyenin açıklaması için bkz GetData(Int32). . (Devralındığı yer: DbDataReader) |
IEnumerable.GetEnumerator() |
Bir toplulukta tekrarlanan bir numaralandırıcı döndürür. |
Uzantı Metotları
CanGetColumnSchema(DbDataReader) |
bir sütun şeması alıp DbDataReader alamayacağını belirten bir değer alır. |
GetColumnSchema(DbDataReader) |
bir DbDataReaderiçin sütun şemasını (DbColumnkoleksiyon) alır. |
Cast<TResult>(IEnumerable) |
öğesinin IEnumerable öğelerini belirtilen türe atar. |
OfType<TResult>(IEnumerable) |
Öğesinin IEnumerable öğelerini belirtilen türe göre filtreler. |
AsParallel(IEnumerable) |
Sorgunun paralelleştirilmesini etkinleştirir. |
AsQueryable(IEnumerable) |
bir IEnumerable öğesini öğesine IQueryabledönüştürür. |