關于executenonquery要求已打開且可用的連接這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、ExecuteNonQuery執(zhí)行一個SqlCommand,該命令返回受操作影響的行數(shù),該命令主要用于確定操作是否成功,比如插入、刪除和更新操作,如果受影響的行數(shù)為0,則證明不成功。
2、大于0表示操作成功。
3、用于這種更新操作與我們通常的判斷是大于0的操作應該沒有問題,是更好的,但對于其他操作,如數(shù)據(jù)庫的操作結(jié)構(gòu),如果返回-1操作成功時,這種情況與我們平常的思維方式有點差距所以應該注意了。
4、簡單意味著使用SQL語句創(chuàng)建數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)表等。
5、數(shù)據(jù)庫結(jié)構(gòu)上的某些操作最好不要使用大于0的值來判斷操作是否成功。
6、擴展資料:c#數(shù)據(jù)執(zhí)行方法:1.使用ExecuteReader()操作數(shù)據(jù)庫執(zhí)行查詢操作的好方法。
7、ExecuteReader具有比數(shù)據(jù)集更快的訪問速度,并且可以使用更少的服務器資源。
8、DataReader對象以讀取方式提供游標,當從結(jié)果行讀取一行時,游標將繼續(xù)讀取下一行。
9、read方法用于確定下一行數(shù)據(jù)是否存在。
10、如果有數(shù)據(jù),它將繼續(xù)運行并返回true。
11、如果沒有數(shù)據(jù),則返回false。
12、DataReader可以提高執(zhí)行效率,并可用于基于序列號的查詢。
13、使用ExecuteReader()操作數(shù)據(jù)庫(通常用于數(shù)據(jù)查詢操作)可以通過使用ExecuteReader()查詢數(shù)據(jù)來提高查詢效率,如果需要數(shù)據(jù)庫事務,那么ExecuteReader()不是理想的選擇。
14、2.使用ExecuteNonQuery()、ExecuteScalar()對數(shù)據(jù)庫進行操作、添加、刪除和更改操作ExecuteNonQuery()通常是數(shù)據(jù)庫事務的首選方法,在插入、刪除和修改等操作時首選ExecuteNonQuery()。
15、ExecuteNonQuery()在成功執(zhí)行時返回受影響的行數(shù),“創(chuàng)建表”和“刪除表”語句的返回值為0。
16、對于其他類型的語句,返回值為-1,ExecuteNonQuery()可以操作數(shù)據(jù),而不需要使用數(shù)據(jù)集直接更改數(shù)據(jù)庫中的數(shù)據(jù)。
17、ExecuteScalar()方法也可以用來執(zhí)行SQL語句,但是ExecuteScalar()不會返回與ExecuteNonQuery()相同的值,ExecuteScalar()方法返回值的數(shù)據(jù)類型為object。
18、如果執(zhí)行的SQL語句是一個查詢,則結(jié)果是查詢后的第一行和第一列。
19、如果執(zhí)行的SQL語句不是查詢,則返回未實例化的對象,并且必須通過類型加載來顯示。
20、通常,ExecuteNonQuery()操作返回一個值,而executescalar()操作返回一個對象,當需要返回單個值時,executescalar()通常使用該對象。
21、例如,當插入數(shù)據(jù)消息并且需要立即知道剛剛插入的值時,可以使用executescalar()方法。
本文分享完畢,希望對大家有所幫助。
標簽:
免責聲明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!