10th
2008,06
Ado.net 介绍:Command对象4种执行方式
1:ExecuteReader();
2:ExecuteNonQuery();
3:ExecuteScalar() ;
4:ExecuteXmlReader();
1:ExecuteReader(); 方式介绍://也是最常用的一种
返回一个SqlDataReader对象或OleDbDataReader对象,这个看你的程序的需要去 做。可以通过这个对象来检查查询结果,它提供了“游水”式的执行方式,即从结果中读取一行之后,移动到另一行,则前一行就无法再用。有一点要注意的是执行之后,要等到手动去调用Read()方法之后,DataReader对象才会移动到结果集的第一行,同时此方法也返回一个Bool值,表明下一行是否可用,返回True则可用,返回False则到达结果集末尾。
2:ExecuteNonQuery();方式介绍:
这个方法并不返回一个DataReader对象,而是返回一个int类型的值,即在执行之后在数据库中所影响的行数。
update,delete,insert into 将导影响N条记录爱影响。返回的int就是N这个值;
- int reader2 = selcmd2.ExecuteNonQuery();
- Response.Write("<br>ExecuteNonQuery执行试返回的结果:" + reader2);
3:ExecuteScalar() ;方式介绍:
这个方法不接受任何参数,仅仅返回查询结果集中的第一行第一列,而忽略了其它的行和列,而且返回的是一个object类型,在使用之前必须先将它强制转换为所需类型。如果返回的仅仅是一个单独的数据元,则可以使用此方法来提高代码的性能。
- string sqlcmd3 = "select count(*) from jobs"; //查询表中的记录
- int num = Convert.ToInt32(selcmd3.ExecuteScalar());
- Response.Write("<br>ExecuteScalar 执行方式返回的结果:" + num + "<br><br>");
- .....上面sql语句正是返回单独数据源
4:ExecuteXmlReader();方式介绍:
方法用于XML操作,返回一个XmlReader对象,由于系统默认没有引用 System.Xml名空间,因此在使用前必须前引入。
- string strCon="server=localhost;database=Northwind;
- Trusted_Connection=Yes;";
- SqlConnection con=new SqlConnection(strCon);
- con.Open();
- SqlCommand cmd = new SqlCommand("select * from Categories FOR XML AUTO, XMLDATA", con);
- XmlReader xr=cmd.ExecuteXmlReader();
- Response.Write(xr.AttributeCount); //这里获取当前节点上的属性个数?
Ado.net, Command对象, ExecuteNonQuery(), ExecuteReader(), ExecuteScalar(), ExecuteXmlReader()
Name: Cngothic 
































Leave a reply?