以下是一个 ASP.NET 的公共连接数据库类的样例:
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
public class DBHelper
{
// 数据库连接字符串
private static string connectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ToString();
public static SqlConnection GetSqlConnection()
{
SqlConnection conn = new SqlConnection(connectionString);
return conn;
}
public static DataTable ExecuteQuery(string sql)
{
DataTable dt = new DataTable();
using (SqlConnection conn = GetSqlConnection())
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
}
return dt;
}
public static int ExecuteNonQuery(string sql)
{
int count = 0;
using (SqlConnection conn = GetSqlConnection())
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
count = cmd.ExecuteNonQuery();
}
return count;
}
public static object ExecuteScalar(string sql)
{
object result = null;
using (SqlConnection conn = GetSqlConnection())
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
result = cmd.ExecuteScalar();
}
return result;
}
}
在这个样例中,我们定义了一个 DBHelper 类,用于处理所有与数据库的交互。该类中包含了三个静态方法:
- GetSqlConnection() 方法返回了一个 SqlConnection 对象,用于连接到数据库。
- ExecuteQuery() 方法用于执行查询操作,返回一个 DataTable 对象。
- ExecuteNonQuery() 方法用于执行更新、插入、删除等操作,返回受影响的行数。
- ExecuteScalar() 方法用于执行查询单个值的操作,返回结果的 object 值。
以上这些方法都是需要提供一个 SQL 的字符串作为参数。在实际使用中,还需要根据需要加上参数化查询和异常处理等操作。
在ASP.NET中连接数据库有多种方法,其中最常见的是使用ADO.NET来访问数据库。
以下是一个使用ADO.NET连接数据库的公共类,可以在ASP.NET项目中进行复用:
using System.Data;
using System.Data.SqlClient;
public class DBHelper
{
private static string ConnString = "Data Source=localhost;Initial Catalog=databaseName;Integrated Security=True";
public static DataTable ExecuteDataTable(string sql)
{
DataTable dt = new DataTable();
using (SqlConnection conn = new SqlConnection(ConnString))
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
dt.Load(reader);
}
return dt;
}
public static int ExecuteNonQuery(string sql)
{
int result = 0;
using (SqlConnection conn = new SqlConnection(ConnString))
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
result = cmd.ExecuteNonQuery();
}
return result;
}
public static object ExecuteScalar(string sql)
{
object result;
using (SqlConnection conn = new SqlConnection(ConnString))
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
result = cmd.ExecuteScalar();
}
return result;
}
}
使用方法:
DataTable dt = DBHelper.ExecuteDataTable("SELECT * FROM users");
int result = DBHelper.ExecuteNonQuery("INSERT INTO users(name, age) VALUES('test', 20)");
object scalarResult = DBHelper.ExecuteScalar("SELECT COUNT(*) FROM users");
需要注意的是,这段代码使用了硬编码的方式将连接字符串写在了代码中,实际使用时应该将其提取到配置文件中,并通过ConfigurationManager等方式进行读取。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/157063.html