Ado. NET 8-data reader, DataReader---shinepans

Source: Internet
Author: User

Depending on the data provider, DataReader can be divided into 4 categories, such as Sqldatareader,oledbdatareader,olbedatareader and OracleDataReader.

A clever metaphor: if the database is a reservoir, then SqlConnection is the water tap, SqlCommand is a pump, SqlDataReader is the water pipe, SqlDataReader can only read one record at a time, Whenever SqlDataReader calls the Read method, it gets a record from the database, and the Read method returns false, using the Wihle loop to invoke the Read method of SqlDataReader to read the records in the database. The way the SqlDataReader works means that you keep a connection to the database while reading the database, and if you disconnect at this point, the data fails to read.

Call the ExecuteScalar method for the SqlCommand object to query the number of records in the table, SqlCommand object calls the Executedatareader method, querying all records in the table


Using system;using system.collections.generic;using;using;using System.Linq;using        System.text;using System.threading.tasks;namespace sqltest{class Program {static void Main (string[] args) {///connection Database String connection = "server= Pinchamp \\sqlexpress;database=db_test;            Trusted_connection=true ";        SqlConnection sc = new SqlConnection (connection); Sc.            ConnectionString = connection; try {sc.  Open ();                Open the Database connection Console.WriteLine ("Already Open database connection!");                SqlCommand cmd = new SqlCommand ("SELECT * from Db_student", SC); SqlDataReader SDR = cmd. ExecuteReader (); Executes the Find record command while (SDR.                Read ()) {Console.WriteLine ("{0}{1}{2}{3}", Sdr[0], sdr[1], sdr[2], sdr[3]); }//start:4. Querying database records///////////////////////////////////////////////////////////////* SqlcoMmand cmd = new SqlCommand ("SELECT count (*) from Db_student", SC); int i = (int) cmd.  ExecuteScalar ();//The command Console.WriteLine to perform a lookup record ("{0} data in the table", i.ToString ()); *///end:4. Querying database records//////////////////////////////////////////////////////////////////start:3. Modifying the code for database data///////// /* SqlCommand cmd = new SqlCommand ("UPDATE db_student SET St  udent_grade=99 where [email protected] ", SC); Create the SqlCommand object cmd. Parameters.Add ("@name", SqlDbType.VarChar).                Value = "Pan"; int i = cmd.                ExecuteNonQuery ();   if (i > 0) Console.WriteLine ("Modified successfully!"); *///end:3. Code///////////////////////////////////////////////////////////start:1 to modify database data. Delete the database record code snippet///////////// /* String cmdtext = "DELETE from db_student WHERE [Email pro                Tected] ";                SqlCommand cmd = new SqlCommand (Cmdtext, SC); Cmd. ParametERs. ADD ("@name", SqlDbType.VarChar).                Value = "Pan"; int i = cmd.                ExecuteNonQuery (); if (i > 0) Console.WriteLine ("Delete record successfully!"); *///end:1. Deleting a database record code snippet///////////////////////////////////////////////////////////start:2. Add the code for the record////////////////                /* SqlCommand cmd = new SqlCommand ();//Create SqlCommand Object Cmd. CommandType = CommandType.Text; Sets the Execute text command cmd. Connection = SC; Sets the object property of CMD. CommandText = "INSERT into Db_student (student_name,student_age,student_address,student_grade) VALUES (@n                Ame, @age, @address, @grade) "; Add a parameter and assign a value cmd to the parameter. Parameters.Add ("@name", SqlDbType.VarChar, 10).                Value = "Pan"; Cmd. Parameters.Add ("@age", SqlDbType.Int).                Value = 19; Cmd. Parameters.Add ("@address", SqlDbType.VarChar).                Value = "Wuhan"; Cmd. Parameters.Add ("@grade", SqlDbType.Int).                Value = 100; Incht i = cmd. ExecuteNonQuery (); Execute database Add record command if (i > 0) Console.WriteLine ("Add record Success"); *//////console output add record//end:2. Add record Code/////////////////////////////////////////////////////////////////} c Atch (Exception ex) {Console.WriteLine ("Open database error: {0}", ex.            Message); } finally {SC.                Close ();            Console.WriteLine ("Database connection closed!");        } System.Console.ReadLine (); }    }}

Operation Result:

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.