首先我们需要使用C#的 Npgsql 库来连接并操作 PostgreSQL数据库。
连接PostgreSQL数据库
要连接 PostgreSQL 数据库,需要使用 Npgsql 库并指定主机名、端口、用户名和密码。下面是一个示例代码:
using Npgsql;
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=password;Database=myDatabase");
try
{
conn.Open();
Console.WriteLine("Connected to PostgreSQL.");
}
catch (Exception ex)
{
Console.WriteLine("Failed to connect to PostgreSQL: " + ex.Message);
}
finally
{
conn.Close();
}
在此代码中,我们使用 NpgsqlConnection 对象来连接到 PostgreSQL 数据库。然后我们调用 Open()
方法来打开数据库连接。通过捕获异常,我们可以在连接失败时输出错误信息。
查询数据
下面是一个查询 PostgreSQL 数据库中表的示例代码:
using Npgsql;
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=password;Database=myDatabase");
try
{
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand("SELECT * FROM customers", conn);
NpgsqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("{0} \t{1} \t{2} \t{3}", reader.GetInt32(0), reader.GetString(1), reader.GetString(2), reader.GetInt32(3));
}
}
catch (Exception ex)
{
Console.WriteLine("Failed to query data: " + ex.Message);
}
finally
{
conn.Close();
}
在此代码中,我们创建了一个 NpgsqlCommand 对象,并指定 SELECT 命令和已连接的数据库连接对象。然后我们调用 ExecuteReader()
方法获取 PostgreSQLDataReader 对象,并使用 while
循环从中读取数据。
插入数据
下面是一个向 PostgreSQL 数据库中插入数据的示例代码:
using Npgsql;
NpgsqlConnection conn = new NpgsqlConnection("Server=127.0.0.1;Port=5432;User Id=postgres;Password=password;Database=myDatabase");
try
{
conn.Open();
NpgsqlCommand cmd = new NpgsqlCommand("INSERT INTO customers(name, address, age) VALUES(@name, @address, @age)", conn);
cmd.Parameters.AddWithValue("@name", "John Doe");
cmd.Parameters.AddWithValue("@address", "123 Main Street");
cmd.Parameters.AddWithValue("@age", 30);
int rowsAffected = cmd.ExecuteNonQuery();
Console.WriteLine("{0} rows affected.", rowsAffected);
}
catch (Exception ex)
{
Console.WriteLine("Failed to insert data: " + ex.Message);
}
finally
{
conn.Close();
}
在此代码中,我们创建了一个 NpgsqlCommand 对象,并指定 INSERT 命令以及已连接的数据库连接对象。我们然后为每个参数设置参数值,并调用 ExecuteNonQuery()
来插入数据。最后,我们输出受影响的行数。
以上就是连接操作和查询、插入数据的两个示例。请注意,在实际项目中,我们需要根据实际需求调整代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 操作PostgreSQL 数据库的示例代码 - Python技术站