C#(.NET)数据访问连接、查询、插入等操作的封装类是开发.NET应用程序必不可少的一部分。下面是整个封装类的详细攻略。
1.数据库连接
1.1 数据库连接字符串
在封装类中,首先需要定义数据库的连接字符串。连接字符串包含数据库服务器名、数据库名、用户身份验证等信息。
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
1.2 数据库连接方法
连接到数据库的方法可以通过ADO.NET中提供的SqlConnection类进行连接。
public static SqlConnection OpenConnection(string connectionString)
{
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
return connection;
}
2.查询操作
在进行查询操作时,可以使用SqlCommand类和SqlDataReader类执行查询并返回结果。下面是一条SQL查询的封装方法。
public static DataTable ExecuteQuery(string connectionString, string queryString, CommandType commandType, params SqlParameter[] parameters)
{
using (SqlConnection connection = OpenConnection(connectionString))
{
using (SqlCommand command = new SqlCommand(queryString, connection))
{
command.CommandType = commandType;
if (parameters != null && parameters.Length > 0)
{
command.Parameters.AddRange(parameters);
}
using (SqlDataReader reader = command.ExecuteReader())
{
DataTable table = new DataTable();
table.Load(reader);
return table;
}
}
}
}
3.插入操作
插入操作使用SqlCommand类的ExecuteNonQuery方法执行INSERT语句。下面是一条SQL插入的封装方法。
public static int ExecuteNonQuery(string connectionString, string queryString, CommandType commandType, params SqlParameter[] parameters)
{
using (SqlConnection connection = OpenConnection(connectionString))
{
using (SqlCommand command = new SqlCommand(queryString, connection))
{
command.CommandType = commandType;
if (parameters != null && parameters.Length > 0)
{
command.Parameters.AddRange(parameters);
}
int result = command.ExecuteNonQuery();
return result;
}
}
}
示例1:查询学生表
下面是一个查询学生表格的示例代码,查询结果将放入DataTable中返回。
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
string queryString = "SELECT * FROM Students WHERE Age > @Age";
SqlParameter parameter = new SqlParameter("@Age", 18);
DataTable table = DBHelper.ExecuteQuery(connectionString, queryString, CommandType.Text, parameter);
示例2:添加学生记录
下面是一个添加学生记录的示例代码,返回值为影响的行数。
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
string queryString = "INSERT INTO Students (Name, Age) VALUES (@Name, @Age)"
SqlParameter[] parameters = new SqlParameter[] {
new SqlParameter("@Name", "张三"),
new SqlParameter("@Age", 19)
};
int result = DBHelper.ExecuteNonQuery(connectionString, queryString, CommandType.Text, parameters);
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#(.NET)数据访问连接、查询、插入等操作的封装类 - Python技术站