Bagaimana Anda memeriksa apakah itu terbuka atau tertutup yang saya gunakan
if (SQLOperator.SQLCONNECTION.State.Equals("Open"))
Namun, bahkan Negara bagian 'Terbuka' gagal pada pemeriksaan ini.
c#
ado.net
sqlconnection
Pedro Franco
sumber
sumber
SqlConnectionState
enum sebagai enum dan bukan mengubahnya menjadi string .....using System.Data;
jawabannya, IMHO. Saya lupa namespace ini (hadusing System.Data.SqlClient
) dan tidak tahu cara mendapatkannyaConnectionState
sebagai kata kunci sampai saya menambahkannya. Semoga ini bisa membantu seseorang.if (myConnection == null || myConnection.State == ConnectionState.Closed) { //Connection is closed } else { //Connection is open in some way }
? Dengan cara ini jika koneksi adalah null, itu juga "ditutup".Inilah yang saya gunakan:
Alasan saya tidak hanya menggunakan:
Apakah karena ConnectionState juga bisa:
Sebagai tambahannya
Selain itu Microsoft menyatakan bahwa Menutup, dan kemudian membuka kembali koneksi "akan menyegarkan nilai Status." Lihat di sini http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.state(v=vs.110).aspx
sumber
mySQLConnection.State != ConnectionState.Open && mySQLConnection.State != ConnectionState.Connecting
untuk menghindari penyetelan ulang dengan koneksi yang lambat, bukan?Dokumentasi NET mengatakan: Properti Negara: Kombinasi bitwise dari nilai-nilai ConnectionState
Jadi saya pikir Anda harus memeriksanya
dari pada
karena Negara dapat memiliki banyak bendera.
sumber
Periksa apakah koneksi MySQL terbuka
sumber
return true;
? letakkan di akhir metode, di luarif
/else
!Anda juga bisa menggunakan ini
sumber
using System.Data;
untuk siapa pun yang tidak tahu, atau tidak tahu mengapa itu tidak berhasilKode ini sedikit lebih defensif, sebelum membuka koneksi, periksa status. Jika status koneksi Rusak maka kita harus mencoba menutupnya. Rusak berarti koneksi sebelumnya dibuka dan tidak berfungsi dengan benar. Kondisi kedua menentukan bahwa status koneksi harus ditutup sebelum mencoba membukanya lagi sehingga kode dapat dipanggil berulang kali.
sumber
Untuk memeriksa status koneksi database, Anda cukup melakukan hal berikut ini
sumber
Untuk memeriksa Status OleDbConnection gunakan ini:
State
mengembalikanConnectionState
Berikut adalah
ConnectionState
enum lainnyasumber
Saya menggunakan cara berikut
sqlconnection.state
sumber
connectionState.open()
tidak ada; yang Anda maksudConnectionState.Open
?