1.command对象的ExecuteScalar()方法,返回的是查询(select)结果的第一行第一列的值。
2.command对象的EexcuteReader()方法,的返回值是一个SqlDataReader类型的值。
2.1SqlDataReader每次read()向下走一条记录,都会将上一条记录销毁,所以我们说Datareader是只进的。
2.2使用SqlDataReader只能读取数据,不能修改数据。因为查出来的结果是在服务器中一个独立的内存中的,已经与源表脱离了关系。
2.3当我们使用datareader,必须connection对象是open的状态。
2.4 SqlDataReader 的getvalue,索引,以及强类型方法的区别。int GetOrdinal("leiName")
2.5 reader.FieldCount获取一行中的列数。
2.5 多个查询的情况使用
do{}
while(reader.NextResult())
3.command对象的ExecuteNonQuery()
namespace ADO1
{
class Program
{
static void Main(string[] args)
{
string constr = "data source=pc-20120907sdqu;initial catalog=shool;user id=sa;password=admin";
using (SqlConnection con = new SqlConnection(constr))//Connection连接
{
//string sql = "select count(*) from Strudent";
//string sql = "select * from Student";
//string sql = "select sName,sAge from student";
//string sql = "select @@identity";//@@全局变量,获取自动增长的值 identity身份
string sql = "insert into Student output inserted.sId values(5,'林冲',33,'男','1998-01-1')";
using (SqlCommand cmd = new SqlCommand(sql, con))//SqlCommand数据库命名
{
con.Open();//打开数据库
//cmd.EndExecuteNonQuery();//增、删、改,返回增加的记录的个数updata delete insert
// int number = (int)cmd.ExecuteScalar();//返回一行一列的数据,int number=(int)将string强制转换为int
//Console.WriteLine("student表中一共有{0}条数据",number);
//string obj = cmd.ExecuteScalar().ToString();//object对象
//Console.WriteLine("student表中第一行第一列的值{0}",obj);
// int number = (int)cmd.ExecuteScalar();
cmd.ExecuteNonQuery(); // cmd.ExecuteReader();ExecuteReader返回多行记录
// Console.WriteLine("最近插入student表中的id为:{0}",number);
}
}
Console.WriteLine("ok");
Console.ReadKey();
}
}
}