C#与PostgreSQL结合使用
安装PostgreSQL数据库
1、下载并安装PostgreSQL数据库,根据操作系统选择相应的版本。
2、在安装过程中设置管理员密码和创建数据库。
安装Npgsql库
1、打开Visual Studio,点击“工具”>“NuGet包管理器”>“管理解决方案的NuGet程序包”。
2、搜索“Npgsql”,选择适合的版本进行安装。
连接PostgreSQL数据库
1、引入Npgsql命名空间:using Npgsql;
2、创建一个连接字符串,包含数据库的地址、端口、用户名、密码等信息。
3、使用NpgsqlConnection
类创建一个数据库连接对象。
4、调用Open()
方法打开数据库连接。
执行SQL语句
1、使用NpgsqlCommand
类创建一个命令对象,传入连接对象和要执行的SQL语句。
2、调用ExecuteReader()
方法执行查询操作,返回一个NpgsqlDataReader
对象。
3、使用Read()
方法逐行读取查询结果。
4、关闭数据读取器和数据库连接。
插入和更新数据
1、使用NpgsqlCommand
类创建一个命令对象,传入连接对象和要执行的插入或更新的SQL语句。
2、调用ExecuteNonQuery()
方法执行插入或更新操作。
3、关闭命令对象和数据库连接。
删除数据
1、使用NpgsqlCommand
类创建一个命令对象,传入连接对象和要执行的删除的SQL语句。
2、调用ExecuteNonQuery()
方法执行删除操作。
3、关闭命令对象和数据库连接。
示例代码
// 连接数据库 string connectionString = "Host=localhost;Username=postgres;Password=your_password;Database=your_database"; using (var connection = new NpgsqlConnection(connectionString)) { connection.Open(); // 执行查询操作 string query = "SELECT * FROM your_table"; using (var command = new NpgsqlCommand(query, connection)) using (var reader = command.ExecuteReader()) { while (reader.Read()) { Console.WriteLine($"{reader["column1"]}, {reader["column2"]}"); } } // 插入数据 string insertQuery = "INSERT INTO your_table (column1, column2) VALUES (@value1, @value2)"; using (var command = new NpgsqlCommand(insertQuery, connection)) { command.Parameters.AddWithValue("@value1", "example"); command.Parameters.AddWithValue("@value2", "data"); command.ExecuteNonQuery(); } // 更新数据 string updateQuery = "UPDATE your_table SET column1 = @newValue1 WHERE column2 = @newValue2"; using (var command = new NpgsqlCommand(updateQuery, connection)) { command.Parameters.AddWithValue("@newValue1", "new example"); command.Parameters.AddWithValue("@newValue2", "data"); command.ExecuteNonQuery(); } // 删除数据 string deleteQuery = "DELETE FROM your_table WHERE column1 = @value"; using (var command = new NpgsqlCommand(deleteQuery, connection)) { command.Parameters.AddWithValue("@value", "example"); command.ExecuteNonQuery(); } }
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/657948.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复