天天看點

SqlCommand.ExecuteNonQuery()的傳回值問題用法:sqlcommand.ExecuteNonQuery() 執行select之後,總是傳回-1的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() 傳回值為受影響行數