ExecuteNonQuery doesn't return results

后端 未结 9 1872
迷失自我
迷失自我 2020-11-28 10:46

This is my (rough) code (DAL):

int i;
// Some other declarations

SqlCommand myCmdObject = new SqlCommand(\"some query\");

conn.open();
i = myCmdObject.Exec         


        
9条回答
  •  渐次进展
    2020-11-28 11:06

    From MSDN: SqlCommand.ExecuteNonQuery Method

    You can use the ExecuteNonQuery to perform catalog operations (for example, querying the structure of a database or creating database objects such as tables), or to change the data in a database without using a DataSet by executing UPDATE, INSERT, or DELETE statements.

    Although the ExecuteNonQuery returns no rows, any output parameters or return values 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. When a trigger exists on a table being inserted or updated, the return value includes the number of rows affected by both the insert or update operation and the number of rows affected by the trigger or triggers. For all other types of statements, the return value is -1. If a rollback occurs, the return value is also -1.

    You are using SELECT query, thus you get -1

提交回复
热议问题