This is before I encountered a problem, found on the Internet to find a solution, then copied to the TXT document, today to organize notes and see, posted out, easy to consult later. The author of the original did not remember ~ ~
When querying for data in a table, it is not correct to use ExecuteNonQuery () to determine whether the value is greater than the limit of the data being determined.
The SqlCommand.ExecuteNonQuery method executes Transact-SQL statements on the connection and returns the number of rows affected.
Note: You can use ExecuteNonQuery to perform directory operations, such as querying the structure of a database or creating database objects such as tables, or by executing an UPDATE, INSERT, or DELETE statement to change data in a database without using a dataset.
Although ExecuteNonQuery does not return any rows, any output parameters or return values that are mapped to parameters are populated with data. For UPDATE, INSERT, and DELETE statements, the return value is the number of rows affected by the command. For all other types of statements, the return value is-1. If a rollback occurs, the return value is also-1
That is, if the statement that is not the Update,insert,delete operation data record, the return value is-1, so the SELECT statement is not suitable for the ExecuteNonQuery () method
(GO) C # ExecuteNonQuery () return value-1