黑马程序员技术交流社区

标题: ado.net 中执行语句的区别 [打印本页]

作者: 刘旺    时间: 2012-7-23 14:33
标题: ado.net 中执行语句的区别
ExecuteNonQuery()
ExecuteReader()
ExecuteScalar()
ExecuteXmlReader()
求详细解释
作者: 许庭洲    时间: 2012-7-23 15:13
1,ExecuteScalar();//执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行;
2,ExecuteNonQuery://针对 SqlCeConnection 执行 SQL 语句并返回受影响的行数;
3,ExecuteReader();//查询时使用,每次读一行,将 CommandText 发送到 Connection 并生成一个 SqlDataReader;
4,ExecuteXmlReader();// 查询时使用,每次读一行, 将CommandText 发送到Connection并生成一个XmlReader对象。
作者: 赵鹏程    时间: 2012-7-23 15:29
ExecuteNonQuery():执行commandtext的指定内容,并返回数据表被影响的行数,只有update insert delete命令会影响的函数,用于数据更新操作
ExecuteReader():执行commandtext的制定内容,返回一个datareader对象
ExecuteScalar():执行commandtext的制定内容,并返回结果表的第一行第一列的值,只能执行select命令
ExecuteXmlReader():执行commandtext的制定内容,返回xmlreader对象,只有sql server才能用此方法。
作者: 张寅平    时间: 2012-7-23 15:34
ExecuteNonQuery():执行一个SqlCommand,返回操作影响的行数。一般执行的是非select 语句,如insert 、update、delete等。

ExecuteReader():将 CommandText 发送到 Connection 并生成一个 SqlDataReader。
如:using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();

        SqlCommand command = new SqlCommand(queryString, connection);
        SqlDataReader reader = command.ExecuteReader();
        while (reader.Read())
        {
            Console.WriteLine(String.Format("{0}", reader[0]));
        }
    }

ExecuteScalar():执行查询,并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。

ExecuteXmlReader():将CommandText 发送到 Connection并生成一个XmlReader对象。
如:using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        SqlCommand command = new SqlCommand(queryString, connection);
        System.Xml.XmlReader reader = command.ExecuteXmlReader();
    }

作者: 黄涛    时间: 2012-7-23 17:24
ExecuteScalar(); 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行;
ExecuteNonQuery: 针对 SqlCeConnection 执行 SQL 语句并返回受影响的行数;
ExecuteReader();查询时使用,每次读一行,将 CommandText 发送到 Connection 并生成一个 SqlDataReader;
ExecuteXmlReader(); 查询时使用,每次读一行, 将CommandText 发送到Connection并生成一个XmlReader对象。
作者: 许楠    时间: 2012-7-23 20:03
ExecuteReader      
执行返回行的命令。为了提高性能,ExecuteReader    使用    Transact-SQL    sp_executesql    系统存储过程调用命令。
因此,如果用于执行像    Transact-SQL    SET    语句这样的命令,ExecuteReader    可能无法获得预期效果;

ExecuteNonQuery     
执行    Transact-SQL    INSERT、DELELE、UPDATE    及    SET    语句等命令,
返回受影响行数,而在执行查询时则是返回一个0。

ExecuteScalar   
执行查询,并返回查询所返回的结果集中第一行的第一列。
忽略额外的列或行;

ExecuteXmlReader      
将    CommandText    发送到    Connection    并生成一个    XmlReader    对象。  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2