1.Command对象
1.1 ExcuteNonquery---执行非查询语句,返回受影响的行数,在新增,删除,修改的时候,如果我们要返回结果集那么就不能使用它了;
1.2 ExcuteScalar--执行查询,执行查询返回结果集的第一行第一列,如果结果集为空,那么就返回null,在程序没有执行之前,返回值的类型不确定,所以返回值是object,
如果要得到自动增长字段的主键值,在values关键字前面加上output inserted.Id,其中Id为主键的字段名,执行结果就插入主键值,用ExcuteScalar执行最方便。
1.3 ExcuteReader---返回一个指向数据库结果集的读取器;
2.DataAdapter--直接将数据库的结果集全部一次性搬到本地数据集(Dataset)里面。
3.DataReader---指向数据库结果集的读取器,在没有调用Read方法之前,指针指向的是结果集的第一行之前,
通过Read方法可以使指针向前前进一个,如果当前指向的地方有数据行,那么就返回true,并把数据库装到自己内部,如果没有数据了(指向了结果集的最后一行之后,)那么就返回false; HasRows这个属性,可以判断当前读取器指向的结果集是否有一行或者多行,一行都没有,就返回false,否则返回true,这个值,是在ExcuteReader的时候,就已经赋值了。只能一行一行的读取数据,不能回读,也不能跳着读取数据