ASP.NET SQL查询数据库

在现代Web应用程序开发中,与数据库的交互是必不可少的,ASP.NET提供了多种方式来连接和操作数据库,其中ADO.NET是最常用的技术之一,本文将详细介绍如何在ASP.NET中使用SQL查询数据库,包括连接数据库、执行查询、处理结果等步骤。
准备工作
安装必要的软件
1、Visual Studio: 用于编写和调试ASP.NET应用程序。
2、SQL Server Management Studio (SSMS): 用于管理SQL Server数据库。
3、SQL Server: 数据库管理系统。
创建示例数据库和表
我们需要一个数据库和一个表来进行演示,假设我们有一个名为EmployeeDB的数据库和一个名为Employees的表。

CREATE DATABASE EmployeeDB;
GO
USE EmployeeDB;
GO
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50),
Department NVARCHAR(50),
Salary DECIMAL(18, 2)
);
GO
-插入一些示例数据
INSERT INTO Employees (EmployeeID, FirstName, LastName, Department, Salary)
VALUES
(1, 'John', 'Doe', 'HR', 50000),
(2, 'Jane', 'Smith', 'IT', 60000),
(3, 'Michael', 'Johnson', 'Finance', 70000);
在ASP.NET中连接数据库
配置Web.config文件
为了简化数据库连接字符串的管理,我们可以在Web.config文件中配置连接字符串。
<configuration>
<connectionStrings>
<add name="EmployeeDBConnectionString" connectionString="Server=YOUR_SERVER_NAME;Database=EmployeeDB;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
使用ADO.NET连接数据库
在ASP.NET中,可以使用SqlConnection类来连接数据库,以下是一个简单的示例:
using System;
using System.Data.SqlClient;
namespace ASPNETSQLExample
{
public class Program
{
public static void Main(string[] args)
{
// 从Web.config获取连接字符串
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["EmployeeDBConnectionString"].ConnectionString;
// 创建SQL查询语句
string query = "SELECT * FROM Employees";
// 使用using语句确保资源被正确释放
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
// 执行查询并获取结果
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"{reader["FirstName"]} {reader["LastName"]} {reader["Department"]}");
}
}
}
}
}
}
执行参数化查询
为了防止SQL注入攻击,建议使用参数化查询,以下是一个示例:
using System;
using System.Data.SqlClient;
namespace ASPNETSQLExample
{
public class Program
{
public static void Main(string[] args)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["EmployeeDBConnectionString"].ConnectionString;
string query = "SELECT * FROM Employees WHERE Department = @Department";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@Department", "IT");
connection.Open();
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine($"{reader["FirstName"]} {reader["LastName"]} {reader["Salary"]}");
}
}
}
}
}
}
更新、插入和删除数据
除了查询数据外,还可以使用SQL命令来更新、插入和删除数据,以下是一些示例:
更新数据

using System;
using System.Data.SqlClient;
namespace ASPNETSQLExample
{
public class Program
{
public static void Main(string[] args)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["EmployeeDBConnectionString"].ConnectionString;
string updateQuery = "UPDATE Employees SET Salary = @NewSalary WHERE EmployeeID = @EmployeeID";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(updateQuery, connection);
command.Parameters.AddWithValue("@NewSalary", 65000);
command.Parameters.AddWithValue("@EmployeeID", 2);
connection.Open();
int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine($"Rows affected: {rowsAffected}");
}
}
}
}
插入数据
using System;
using System.Data.SqlClient;
namespace ASPNETSQLExample
{
public class Program
{
public static void Main(string[] args)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["EmployeeDBConnectionString"].ConnectionString;
string insertQuery = "INSERT INTO Employees (FirstName, LastName, Department, Salary) VALUES (@FirstName, @LastName, @Department, @Salary)";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(insertQuery, connection);
command.Parameters.AddWithValue("@FirstName", "Alice");
command.Parameters.AddWithValue("@LastName", "Brown");
command.Parameters.AddWithValue("@Department", "Marketing");
command.Parameters.AddWithValue("@Salary", 55000);
connection.Open();
int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine($"Rows affected: {rowsAffected}");
}
}
}
}
删除数据
using System;
using System.Data.SqlClient;
namespace ASPNETSQLExample
{
public class Program
{
public static void Main(string[] args)
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["EmployeeDBConnectionString"].ConnectionString;
string deleteQuery = "DELETE FROM Employees WHERE EmployeeID = @EmployeeID";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(deleteQuery, connection);
command.Parameters.AddWithValue("@EmployeeID", 3);
connection.Open();
int rowsAffected = command.ExecuteNonQuery();
Console.WriteLine($"Rows affected: {rowsAffected}");
}
}
}
}
本文介绍了如何在ASP.NET中使用SQL查询数据库的基本步骤,包括连接数据库、执行查询、处理结果以及进行数据更新、插入和删除操作,通过这些示例,您可以了解到如何使用ADO.NET与SQL Server进行交互,从而构建功能丰富的Web应用程序,希望本文对您有所帮助!
以上内容就是解答有关“asp.net sql 查询数据库”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。