在ASP.NET开发中,数据库公共类是一个非常重要的组件,它封装了数据库连接、查询、事务处理等操作,使业务逻辑层更专注于业务规则,而无需关注底层的数据库实现细节,下面将详细介绍如何创建和使用一个ASP.NET数据库公共类:

一、数据库公共类的基本结构
1. 命名空间和引用
需要定义命名空间并引入必要的命名空间:
using System; using System.Data; using System.Data.SqlClient; using System.Configuration;
2. 配置连接字符串
在Web.config文件中配置连接字符串:
<configuration>
<appSettings>
<add key="DBConnStr" value="database=softtest; server=EZ-23; uid=sa; pwd=11111;Max pool size =100; enlist=true;persist security info=true"/>
</appSettings>
</configuration>
3. 数据库连接类
创建一个名为DBConnection的类,用于管理数据库连接:

namespace SoftTest.ClassLibrary.Connection
{
public class DBConnection
{
private SqlConnection MyConnection;
private SqlTransaction MyTrans;
// 获取连接字符串
private string GetDBaseConnectionString()
{
return ConfigurationManager.AppSettings["DBConnStr"];
}
// 打开数据库连接
public SqlConnection OpenDB()
{
try
{
MyConnection = new SqlConnection(GetDBaseConnectionString());
if (MyConnection.State != ConnectionState.Open)
{
MyConnection.Open();
}
return MyConnection;
}
catch (SqlException ex)
{
if (ex.Number != 0)
{
Console.WriteLine("数据库联接失败!<BR><BR>数据库或网络不可用,请与系统管理员联系!");
}
return null;
}
}
// 关闭数据库连接
public void CloseDB()
{
if (MyConnection != null && MyConnection.State == ConnectionState.Open)
{
MyConnection.Close();
}
}
}
}
二、数据库操作方法
1. 执行增删改操作
public int ExecuteNonQuery(string sql, CommandType commandType, params SqlParameter[] parameters)
{
using (SqlConnection conn = OpenDB())
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.CommandType = commandType;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteNonQuery();
}
}
}
2. 执行查询操作
public DataTable ExecuteQuery(string sql, CommandType commandType, params SqlParameter[] parameters)
{
using (SqlConnection conn = OpenDB())
{
using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conn))
{
adapter.SelectCommand.CommandType = commandType;
adapter.SelectCommand.Parameters.AddRange(parameters);
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}
}
}
三、使用示例
1. 调用增删改方法
DBConnection dbConn = new DBConnection();
int result = dbConn.ExecuteNonQuery("UPDATE Users SET Name = @Name WHERE Id = @Id", CommandType.Text, new SqlParameter("@Name", "John"), new SqlParameter("@Id", 1));
2. 调用查询方法
DBConnection dbConn = new DBConnection();
DataTable users = dbConn.ExecuteQuery("SELECT * FROM Users WHERE Age > @Age", CommandType.Text, new SqlParameter("@Age", 25));
四、常见问题及解答
Q1: 如何在Web.config中配置多个数据库连接字符串?
A1: 可以在<connectionStrings>节中添加多个连接字符串,然后在代码中使用相应的键来获取连接字符串。

<connectionStrings>
<add name="PrimaryDB" connectionString="..."/>
<add name="SecondaryDB" connectionString="..."/>
</connectionStrings>
在代码中获取连接字符串:
string primaryConnStr = ConfigurationManager.ConnectionStrings["PrimaryDB"].ConnectionString;
Q2: 如何处理数据库连接池以提高性能?
A2: 数据库连接池是自动管理的,但可以通过设置连接字符串中的参数来优化,可以设置Max Pool Size和Min Pool Size来控制连接池的大小,确保在应用程序结束时正确关闭连接,以便连接可以被回收到连接池中。
以上内容就是解答有关“asp.net 数据库公共类”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。