Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изявление ExecuteNonQuery за SELECT sql, което не връща редове

ExecuteNonQuery Method връща броя на редовете, засегнати от INSERT , UPDATE или DELETE . Този метод трябва да се използва за изпълнение на DML (език за манипулиране на данни), както е посочено по-горе.

ExecuteReader Method ще върне резултатния набор от SELECT . Този метод трябва да се използва, когато правите заявки за куп резултати, като редове от таблица, изглед, каквото и да е.

ExecuteScalar Method ще върне една стойност в първия ред, първата колона от SELECT изявление. Този метод трябва да се използва, когато очаквате да бъде върната само една стойност от заявката.

Накратко, нормално е да нямате резултати от SELECT изявление, докато използвате ExecuteNonQuery метод. Използвайте ExecuteReader вместо. Използване на ExecuteReader метод, ще разбере колко реда са били върнати чрез екземпляра на SqlDataReader обектът е върнат.

int rows = 0;

if (reader.HasRows)
    while (reader.Read())
        rows++;

return rows; // Returns the number of rows read from the reader.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL OUTPUT Съхранените процедури не работят с ExecuteReader

  2. Защо SQL сървърът издава тази грешка:Не може да се вмъкне стойността NULL в колона "id"?

  3. Как мога да търся всички колони в таблица?

  4. SQL замества всички NULL

  5. Откъснете (не закръглете) десетичните знаци в SQL Server