要使用 DM.DmProvider 库连接达梦数据库,您需要在您的项目中添加以下 NuGet 包:
Install-Package DM.DmProvider
然后,您可以使用以下代码连接到达梦数据库:
using DM.DmProvider;
namespace DMDemo
{
class Program
{
static void Main(string[] args)
{
// 创建连接字符串
string connectionString = "Data Source=localhost;Initial Catalog=test;User ID=admin;Password=admin;";
// 创建连接
IDmConnection connection = new DmConnection(connectionString);
// 打开连接
connection.Open();
// 执行查询
var reader = connection.Query("SELECT * FROM users");
// 遍历结果集
while (reader.Read())
{
Console.WriteLine("{0} {1}", reader["id"], reader["name"]);
}
// 关闭连接
connection.Close();
}
}
}
此示例将连接到名为 test 的数据库,用户名为 admin,密码为 admin。它将执行查询 SELECT * FROM users,并将结果打印到控制台。
以下是 DM.DmProvider 库的一些常用功能:
连接到达梦数据库
// 使用连接字符串连接
IDmConnection connection = new DmConnection("Data Source=localhost;Initial Catalog=test;User ID=admin;Password=admin;");
// 使用连接参数连接
IDmConnection connection = new DmConnection(new DmConnectionParameter("Data Source", "localhost"), new DmConnectionParameter("Initial Catalog", "test"), new DmConnectionParameter("User ID", "admin"), new DmConnectionParameter("Password", "admin"));
执行查询
// 执行简单查询
var reader = connection.Query("SELECT * FROM users");
// 执行带参数的查询
var reader = connection.Query("SELECT * FROM users WHERE id = @id", new DmParameter("id", 1));
执行非查询语句
// 执行插入语句
int rows = connection.ExecuteNonQuery("INSERT INTO users (name, age) VALUES ('John Doe', 30)");
// 执行更新语句
int rows = connection.ExecuteNonQuery("UPDATE users SET age = 31 WHERE name = 'John Doe'");
// 执行删除语句
int rows = connection.ExecuteNonQuery("DELETE FROM users WHERE name = 'John Doe'");
使用映射
DM.DmProvider 库支持使用映射来简化数据访问。您可以使用 DmMapper 类来创建映射。
// 创建映射
DmMapper mapper = new DmMapper();
// 映射用户表
mapper.AddMapping(typeof(User), "users");
// 使用映射
var users = mapper.Query<User>(connection, "SELECT * FROM users");
此示例将映射 users 表到 User 类。然后,它将使用映射来查询 users 表并将结果转换为 User 对象。