A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘旺 中级黑马   /  2012-7-23 14:33  /  1886 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

ExecuteNonQuery()
ExecuteReader()
ExecuteScalar()
ExecuteXmlReader()
求详细解释

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

5 个回复

正序浏览
ExecuteReader      
执行返回行的命令。为了提高性能,ExecuteReader    使用    Transact-SQL    sp_executesql    系统存储过程调用命令。
因此,如果用于执行像    Transact-SQL    SET    语句这样的命令,ExecuteReader    可能无法获得预期效果;

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

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

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

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
ExecuteScalar(); 执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行;
ExecuteNonQuery: 针对 SqlCeConnection 执行 SQL 语句并返回受影响的行数;
ExecuteReader();查询时使用,每次读一行,将 CommandText 发送到 Connection 并生成一个 SqlDataReader;
ExecuteXmlReader(); 查询时使用,每次读一行, 将CommandText 发送到Connection并生成一个XmlReader对象。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
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();
    }

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
ExecuteNonQuery():执行commandtext的指定内容,并返回数据表被影响的行数,只有update insert delete命令会影响的函数,用于数据更新操作
ExecuteReader():执行commandtext的制定内容,返回一个datareader对象
ExecuteScalar():执行commandtext的制定内容,并返回结果表的第一行第一列的值,只能执行select命令
ExecuteXmlReader():执行commandtext的制定内容,返回xmlreader对象,只有sql server才能用此方法。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
1,ExecuteScalar();//执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行;
2,ExecuteNonQuery://针对 SqlCeConnection 执行 SQL 语句并返回受影响的行数;
3,ExecuteReader();//查询时使用,每次读一行,将 CommandText 发送到 Connection 并生成一个 SqlDataReader;
4,ExecuteXmlReader();// 查询时使用,每次读一行, 将CommandText 发送到Connection并生成一个XmlReader对象。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马