SqlCommand.ExecuteNonQuery()的返回值问题

用法:

sqlcommand.ExecuteNonQuery() 执行select之后,总是返回-1的

sqlcommand.ExecuteNonQuery()返回的是受影响的行数,只对update,delete,insert 有效


详解:

如果sqlcommand.ExecuteNonQuery() 执行select    必须有一个SqlDataReader来接收(SqlDataReader reader = com.ExecuteReader();),判断reader.Read()方法一条显示

SqlDataReader是只读方法,只能读数据库记录。

            string strsql = "select * from 表名";                      
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;//conn是建立数据库连接
            cmd.CommandText = strsql;
            SqlDataReader reader = cmd.ExecuteReader();

    if (reader .Read())
            {
                reader .GetString(int i);//查询结果中字段名的序号               
            }
            else
            {
                //没有查询到记录
            }

如果sqlcommand.ExecuteNonQuery() 执行update,delete,insert 语句时,

sqlcommand.ExecuteNonQuery() 返回值为受影响行数



你可能感兴趣的:(SqlCommand.ExecuteNonQuery()的返回值问题)