我使用Npgsql
使用C#处理PostgreSQL
。为了连接数据库我写道:
NpgsqlConnection conn = new NpgsqlConnection(connstring);
conn.Open();
Open()是void
方法。它不返回任何指示是否连接到数据库的值。我需要在我的客户端应用中显示状态connected
或not connected
。怎么做?
答案 0 :(得分:5)
您可以查看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的版本。
答案 1 :(得分:0)
重复 kmatyaszek 的回答和 Damyan Bogoev 的评论,这就是我所做的:
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;
}
}