3

私はC#の使用Npgsqlに対処するために使用します。PostgreSQL私が書いたデータベースに接続するために:

NpgsqlConnection conn = new NpgsqlConnection(connstring);
conn.Open();

Open()はvoidメソッドです。データベースに接続しているかどうかを示す値は返されません。ステータスconnectedまたはnot connectedクライアントアプリで表示する必要があります。どうやってするか?

4

2 に答える 2

7

Stateプロパティの値を確認できます。

NpgsqlConnection conn = new NpgsqlConnection(connString); 
conn.Open(); 
if (conn.State == System.Data.ConnectionState.Open) 
       Console.WriteLine("Success open postgreSQL connection."); 
conn.Close(); 

StateChangeまた、このプロバイダーの2.0以降のバージョンでもイベントを利用できます。

于 2012-11-24T18:51:04.947 に答える
0

kmatyaszekの回答とDamyanBogoevのコメントを繰り返して、これが私がしたことです。

public async Task<bool> TestConnection()
    {
        await using (NpgsqlConnection conn = new NpgsqlConnection(ConnectionString))
        {
            await conn.OpenAsync();
            if (conn.State == System.Data.ConnectionState.Open)
                return true;
            else return false;
        }
    }
于 2021-04-14T13:47:43.060 に答える