Pomozte vývoji webu a sdílení článku s přáteli!

Úvod do DataReaderu C

A čtečka dat je objekt, který se používá ke čtení dat z datových zdrojů. To může provádět pouze operaci čtení a nikoli operaci aktualizace zdroje dat. Data jsou načtena jako datový tok ze zdroje dat. Přestože je čtečka dat omezena pouze na čtení, je vysoce efektivní a optimalizovaná, protože je pouze pro čtení a přeposílání. V .Net Frameworku existují dva typy poskytovatelů, jsou to SQLDataReader a OleDbDataReader. Čtečka dat zvyšuje výkon aplikace snížením systémové režie, protože v daném okamžiku ukládá do paměti jediný řádek.Tento článek se bude podrobně zabývat čtečkou dat v c spolu s vhodnými příklady.

Syntaxe:

Čtečka dat sql je dostupná v jmenném prostoru System.Data.SqlClient a odpovídající sestavení je System.Data.SqlClient.dll. Čtečka dat SQL se inicializuje následovně.

SqlDataReadersqlReader=sqlCmd.ExecuteReader();

Prováděcí čtečka se používá k předání příkazů SQL nebo procedury objektu sqlconnection a odpovídající výsledek je uložen v objektu sqlreader SqlDataReader. Před čtením z jakékoli čtečky dat by měla být vždy otevřená a měla by ukazovat na první záznam. Ke čtení se používá metoda read() čtečky dat a ta se posune vpřed na další řádek.

Čtečka dat oledb se také chová stejným způsobem. Je k dispozici v jmenném prostoru System.Data.OleDb a odpovídající sestavení je System.Data.OleDb.dll. Objekt oledbDataReader se používá k připojení ke zdrojům dat OLEDB a načítání dat z nich.Stejně jako SQLDataReader by i čtečka oledbdata měla být otevřena před provedením operace čtení. Čtečka dat oledb se inicializuje následovně.

OleDbDataReaderoledbReader=oledbCmd.ExecuteReader();

Kde se pro provádění příkazů nebo procedur SQL používá spouštěcí program.

Přístup k výsledkům čtečky dat

Objekt čtečky dat má metodu čtení, kterou lze použít pro přístup k řádkům ze sady výsledků. Ke každé hodnotě sloupce lze přistupovat buď pomocí jejich názvu, nebo pomocí jejich pořadí sloupců, ve kterém se objevují ve výsledkové sadě. Pro zvýšení efektivity je k dispozici sada předdefinovaných metod konverze typů pro přístup k hodnotám jako takovým. Čtečku dat se doporučuje používat při práci s velkými soubory dat, protože data nejsou uložena v mezipaměti. Vždy je vhodné zavřít objekt čtečky dat, jakmile je použit. Pokud má příkaz nějaké návratové hodnoty nebo výstupní parametry, je dostupný pouze po zavření čtečky dat.Další důležitou věcí, kterou je třeba mít na paměti při používání čtečky dat, je to, že když je připojení používáno čtečkou dat, nelze na tomto připojení provést jinou čtečku dat nebo jinou operaci. Také je důležité si pamatovat, že přístup k datové sadě je možný pouze dopředu. Můžeme iterovat pouze na další záznam a ne na předchozí.

Práce s více sadami

Pokud čtečka dat vrací více sad výsledků, lze k nim přistupovat pomocí metody čtečky dat NextResult. Během implementace je třeba poznamenat a dbát na to, aby všechny sady výsledků byly iterovány a každý sloupec uvnitř sady výsledků byl přístupný.

Příklady implementace DataReaderu C

Níže jsou uvedeny příklady DataReaderu C:

Příklad 1

Typicky jsou data čtena z výsledkové sady vrácené čtečkou dat, aby se každý řádek opakoval pomocí smyčky while. Návratová hodnota metody čtení je typu bool, pokud je přítomen další řádek, je vrácena hodnota true a pro poslední záznam je vrácena hodnota false.Cyklus while se bude provádět, dokud se podmínka nestane nepravdivou.

Syntaxe:

while(rdr.Read())
{
// operace, která má být provedena
// Přístup ke sloupcům
// Manipulace s daty

Stejně jako uzavření připojení SQL je vždy nejlepším postupem zavřít čtečku dat. Celá část může být uzavřena v bloku try a připojení čtečky dat může být uzavřeno v bloku konečně.

Syntaxe:

try
{
// operace, která má být provedena
// Přístup ke sloupcům
// Manipulace s daty
Catch
{
//Zde ošetřete výjimku
konečně
{
//uzavřete připojení čtečky dat
if (čtenář !=null)
{
čtenář.Zavřít();
// zavřít připojení thesql

Kód:

using System;
pomocí System.Windows.Forms;
pomocí System.Data.SqlClient;
test jmenného prostoru
{
veřejná částečná třída test1 : Form
{
veřejný test1()
{
InitializeComponent();
Veřejné statické void main()
{
string constr=null;
SqlConnectionscon ;
SqlCommandscmd ;
string sstat=null;
"constr=Zdroj dat=testovací server;Počáteční katalog=testdb;ID uživatele=test;Heslo=test;
""sstat=Vybertez testu;
"scon=new SqlConnection(constr);
zkuste
{
scon.Open();
scmd=new SqlCommand(sstat, scon);
SqlDataReadersstatReader=scmd.ExecuteReader();
while (sstatReader.Read())
{
"Console.WriteLine(Název: sstatReader.GetValue(0) + věk: sstatReader.GetValue(1) );
"
sstatReader.Close();
scmd.Dispose();
scon.Close();
catch (exception ex)
{

Výstup:

Příklad 2

Kód:

using System;
pomocí System.Windows.Forms;
pomocí System.Data.OleDb;
test jmenného prostoru
{
veřejný částečný test třídy: Formulář
{
veřejný test()
{
InitializeComponent();
Veřejné statické void main()
{
string constr=null;
OleDbConnectionocon ;
OleDbCommandocmd ;
řetězec sql=null;
"constr=Poskytovatel=Microsoft.Jet.OLEDB.4.0;Zdroj dat=test.mdb;
""sql=vybertez emp;
"ocon=new OleDbConnection(constr);
zkuste
{
ocon.Open();
ocmd=new OleDbCommand(sql, ocon);
OleDbDataReaderordr=ocmd.ExecuteReader();
while (ordr.Přečíst ())
{
"Console.WriteLine(EmpName: ordr.GetValue(0) + Empage: ordr.GetValue(1) + Esalary ordr.GetValue(2) );
"
ordr.Close();
ocmd.Dispose();
ocon.Close();
catch (exception ex)
{
"Console.WriteLine(Connection Failed);
"

Výstup:

Závěr

Článek se tedy podrobně zabývá čtečkami dat v c. Ukázal také, jak lze čtečky dat číst pouze dopředným způsobem z datového toku. Článek také podrobně vysvětluje dva typy čteček dat, čtečku dat I .esql a čtečku dat oledb. Ukázala fungování obou čteček dat spolu s vhodnými příklady. Článek také popisuje, jak pracovat s více sadami výsledků pomocí metody NextResult a jak lze každý řádek dat iterovat pomocí cyklu for. Chcete-li se dozvědět více podrobně, je vhodné napsat ukázkové programy a procvičit si je.

Doporučený článek

Toto je průvodce DataReaderem C. Zde diskutujeme Úvod do DataReaderu v C a jeho příklady spolu s implementací a výstupem kódu. Můžete si také projít naše další navrhované články a dozvědět se více -

  1. C SortedDictionary
  2. C Formát řetězce()
  3. TextWriter v C
  4. Statický konstruktor v C

Pomozte vývoji webu a sdílení článku s přáteli!