ASP.NET 数据库源码详解

我们将详细介绍如何使用ASP.NET与数据库进行交互,我们将使用SQL Server作为示例数据库,并展示如何在ASP.NET应用程序中执行常见的数据库操作,如连接数据库、查询数据、插入数据、更新数据和删除数据。
一、创建数据库和表
我们需要创建一个数据库和一个表,以下是一个简单的SQL脚本,用于创建名为TestDB的数据库和一个名为Employees的表:
CREATE DATABASE TestDB;
GO
USE TestDB;
GO
CREATE TABLE Employees (
ID INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50),
Email NVARCHAR(100),
Salary DECIMAL(10, 2)
);
二、配置Web.config文件
在ASP.NET项目中,我们需要在Web.config文件中配置数据库连接字符串,以下是一个示例配置:
<configuration>
<connectionStrings>
<add name="TestDBConnectionString" connectionString="Data Source=SERVER_NAME;Initial Catalog=TestDB;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
请将SERVER_NAME替换为你的数据库服务器名称或IP地址。
三、创建数据库访问层(DAL)

我们创建一个数据库访问层(DAL),用于封装与数据库的交互逻辑,以下是一个简单的DAL类:
using System;
using System.Data;
using System.Data.SqlClient;
public class EmployeeDAL
{
private string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["TestDBConnectionString"].ConnectionString;
public DataTable GetAllEmployees()
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open();
string query = "SELECT * FROM Employees";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
}
return dt;
}
public void AddEmployee(int id, string firstName, string lastName, string email, decimal salary)
{
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open();
string query = "INSERT INTO Employees (ID, FirstName, LastName, Email, Salary) VALUES (@ID, @FirstName, @LastName, @Email, @Salary)";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@ID", id);
cmd.Parameters.AddWithValue("@FirstName", firstName);
cmd.Parameters.AddWithValue("@LastName", lastName);
cmd.Parameters.AddWithValue("@Email", email);
cmd.Parameters.AddWithValue("@Salary", salary);
cmd.ExecuteNonQuery();
}
}
// 其他方法(UpdateEmployee, DeleteEmployee等)...
}
四、创建业务逻辑层(BLL)
业务逻辑层(BLL)负责处理应用程序的业务逻辑,以下是一个简单的BLL类:
public class EmployeeBLL
{
private EmployeeDAL dal = new EmployeeDAL();
public DataTable GetAllEmployees()
{
return dal.GetAllEmployees();
}
public void AddEmployee(int id, string firstName, string lastName, string email, decimal salary)
{
dal.AddEmployee(id, firstName, lastName, email, salary);
}
// 其他方法(UpdateEmployee, DeleteEmployee等)...
}
五、创建表示层(PL)
我们创建一个表示层(PL),用于显示数据并与用户交互,以下是一个简单的ASP.NET Web Forms页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="YourNamespace.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>员工管理系统</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h2>添加员工</h2>
<table>
<tr>
<td>ID:</td>
<td><asp:TextBox ID="txtID" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>姓名:</td>
<td><asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>姓氏:</td>
<td><asp:TextBox ID="txtLastName" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>电子邮件:</td>
<td><asp:TextBox ID="txtEmail" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td>薪资:</td>
<td><asp:TextBox ID="txtSalary" runat="server"></asp:TextBox></td>
</tr>
<tr>
<td><asp:Button ID="btnAdd" runat="server" Text="添加" OnClick="btnAdd_Click" /></td>
</tr>
</table>
</div>
</form>
</body>
</html>
using System;
using System.Web.UI;
using YourNamespace; // 替换为实际的命名空间
public partial class Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
protected void btnAdd_Click(object sender, EventArgs e)
{
int id = int.Parse(txtID.Text);
string firstName = txtFirstName.Text;
string lastName = txtLastName.Text;
string email = txtEmail.Text;
decimal salary = decimal.Parse(txtSalary.Text);
EmployeeBLL bll = new EmployeeBLL();
bll.AddEmployee(id, firstName, lastName, email, salary);
BindGrid();
}
private void BindGrid()
{
EmployeeBLL bll = new EmployeeBLL();
DataTable dt = bll.GetAllEmployees();
gvEmployees.DataSource = dt;
gvEmployees.DataBind();
}
}
六、运行项目
我们可以运行项目并在浏览器中查看结果,你应该能够看到一个简单的员工管理系统,可以添加新员工并查看所有员工的信息。

七、常见问题解答
问题1:如何修改现有员工的信息?
答:你可以在DAL层中添加一个UpdateEmployee方法,然后在BLL层和表示层中调用该方法,以下是一个简单的示例:
public void UpdateEmployee(int id, string firstName, string lastName, string email, decimal salary)
{
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open();
string query = "UPDATE Employees SET FirstName = @FirstName, LastName = @LastName, Email = @Email, Salary = @Salary WHERE ID = @ID";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.AddWithValue("@ID", id);
cmd.Parameters.AddWithValue("@FirstName", firstName);
cmd.Parameters.AddWithValue("@LastName", lastName);
cmd.Parameters.AddWithValue("@Email", email);
cmd.Parameters.AddWithValue("@Salary", salary);
cmd.ExecuteNonQuery();
}
}
到此,以上就是小编对于“asp.net 数据库 源码”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。