0% found this document useful (0 votes)
118 views

Difference FAQs-3

The document summarizes the differences between the ExecuteNonQuery and ExecuteScalar/ExecuteReader methods in ADO.NET. ExecuteNonQuery is used for action queries like insert, update, delete and returns the number of rows affected. ExecuteScalar returns the value of the first column in the first row of a query with an aggregate function. ExecuteReader returns a collection of rows from a query and can be used for select statements. Both return values and examples of usage are provided.

Uploaded by

Umar Ali
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views

Difference FAQs-3

The document summarizes the differences between the ExecuteNonQuery and ExecuteScalar/ExecuteReader methods in ADO.NET. ExecuteNonQuery is used for action queries like insert, update, delete and returns the number of rows affected. ExecuteScalar returns the value of the first column in the first row of a query with an aggregate function. ExecuteReader returns a collection of rows from a query and can be used for select statements. Both return values and examples of usage are provided.

Uploaded by

Umar Ali
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

1.Difference between ExecuteNonQuery() and ExecuteScalar() methods in ADO.NET S.

No 1 ExecuteNonQuery() ExecuteScalar()

It will work with Action Queries It will work with Non-Action Queries only that contain aggregate functions. (Create,Alter,Drop,Insert,Update, Delete). It returns the count of rows It returns the first row and first column effected by the Query. value of the query result. Return type is int Return type is object.

2 3 4

Return value is optional and can Return value is compulsory and should be assigned to an integer variable. be assigned to a variable of required type.

Example-1 for ExecuteNonQuery Method -Insert: SqlCommand cmd = new SqlCommand("Insert Into SampleTable Values('1','2')",con); //con is the connection object con.Open(); cmd.ExecuteNonQuery(); //The SQL Insert Statement gets executed Example-2 for ExecuteNonQuery Method - Update: public void UpdateEmployeeEmail() { SqlConnection conn = new SqlConnection(connString)) String sqlQuery = "UPDATE Employee SET empemail='[email protected]' WHERE empid=5; SqlCommand cmd = new SqlCommand(sqlQuery, conn); try { conn.Open(); cmd.ExecuteNonQuery(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { conn.Close(); } return count; }

Example-1 for ExecuteScalar Method: This returns only one value that is first column value of the first row in the executed query public int getSomeProdId() { int count=0; SqlConnection conn = new SqlConnection(connString)) String sqlQuery = "SELECT COUNT(*) FROM dbo.region"; SqlCommand cmd = new SqlCommand(sqlQuery, conn); try { conn.Open(); //Since return type is System.Object, a typecast is must count = (Int32)cmd.ExecuteScalar(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { conn.Close(); } return count; } Example-2 for ExecuteScalar Method: This returns one value only, no recordsets. cmd.CommandText = "Select Name, DOB, from Emp where ID=1"; Dim strName As string = cmd.ExecuteScalar.ToString 2.Difference between ExecuteNonQuery() and ExecuteReader() methods in ADO.NET

S.No 1

ExecuteNonQuery()

ExecuteReader()

It will work with Action Queries It will work with Action and Nononly Action Queries (Select) (Create,Alter,Drop,Insert,Update, Delete). It returns the count of rows It returns the collection of rows effected by the Query. selected by the Query. Return type is int Return type is DataReader.

2 3 4

Return value is optional and can Return value is compulsory and should

be assigned to an integer variable.

be assigned to an another object DataReader.

Example-1 for ExecuteNonQuery Method -Insert: SqlCommand cmd = new SqlCommand("Insert Into SampleTable Values('1','2')",con); //con is the connection object con.Open(); cmd.ExecuteNonQuery(); //The SQL Insert Statement gets executed Example-2 for ExecuteNonQuery Method - Update: public void UpdateEmployeeEmail() { SqlConnection conn = new SqlConnection(connString)) String sqlQuery = "UPDATE Employee SET empemail='[email protected]' WHERE empid=5; SqlCommand cmd = new SqlCommand(sqlQuery, conn); try { conn.Open(); cmd.ExecuteNonQuery(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { conn.Close(); } return count; } Example for ExecuteReader Method: Here, ExecuteReader is used to get set of records by specified query, namely, "select * from emp" SqlConnection con = new SqlConnection(constr); //constructor can be connection of string. SqlCommand cmd = new SqlCommand ("select * from emp", con); con.Open(); SqlDataReader dr = cmd. ExecuteReader (CommandBehavior. CloseConnection); //Implicitly closes the connection because CommandBehavior. CloseConnection was specified. while(dr.Read()) { Console.WriteLine (dr.GetString(0)); } dr.Close();

And, further updates on difference between questions and answers, please visit my blog @ http://onlydifferencefaqs.blogspot.in/

You might also like