csharp,protected void Page_Load(object sender, EventArgs e),{, string connectionString = "Data Source=server;Initial Catalog=database;User Id=user;Password=password";, using (SqlConnection con = new SqlConnection(connectionString)), {, string query = "SELECT * FROM Users WHERE UserName='John'";, SqlCommand cmd = new SqlCommand(query, con);, con.Open();, SqlDataReader reader = cmd.ExecuteReader();, while (reader.Read()), {, Response.Write("User ID: " + reader["UserID"].ToString() + "");, }, reader.Close();, },},“,这段代码连接到一个名为“database”的数据库,从“Users”表中查询用户名为“John”的用户信息,并将用户ID输出到网页上。ASP.NET 简单查询实例
一、
在 ASP.NET 应用程序中,数据查询是一项常见的操作,通过与数据库进行交互,可以从数据库中检索所需的信息并展示给用户,本文将介绍一个简单的 ASP.NET 查询实例,演示如何从数据库中获取数据并在网页上显示。
二、环境搭建
1、开发工具:Visual Studio 2022 或更高版本。
2、编程语言:C#。
3、数据库:SQL Server(也可以使用其他数据库,如 MySQL、SQLite 等)。
三、创建数据库和表
我们需要创建一个数据库和一个包含一些示例数据的表,以下是在 SQL Server 中创建数据库和表的 SQL 脚本:

创建数据库
CREATE DATABASE SampleDB;
GO
切换到新创建的数据库
USE SampleDB;
GO
创建员工表
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY IDENTITY(1, 1),
FirstName NVARCHAR(50) NOT NULL,
LastName NVARCHAR(50) NOT NULL,
Position NVARCHAR(50) NOT NULL,
Salary DECIMAL(10, 2) NOT NULL
);
GO
插入一些示例数据
INSERT INTO Employees (FirstName, LastName, Position, Salary)
VALUES ('John', 'Doe', 'Developer', 50000.00),
('Jane', 'Smith', 'Manager', 70000.00),
('Michael', 'Brown', 'Designer', 40000.00);
GO
四、创建 ASP.NET 项目
1、打开 Visual Studio,选择“创建新项目”。
2、选择“ASP.NET Web 应用程序(.NET Framework)”,然后点击“下一步”。
3、配置项目名称、位置和解决方案名称等信息,然后点击“创建”。
4、选择“Web 窗体”模板,然后点击“创建”。
五、配置数据库连接
在项目中添加对数据库的连接配置,可以在Web.config 文件中添加以下连接字符串:

<configuration>
<connectionStrings>
<add name="SampleDBConnectionString" connectionString="Data Source=.SQLEXPRESS;Initial Catalog=SampleDB;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
请根据实际情况修改连接字符串中的服务器名称、数据库名称和身份验证方式。
六、编写查询代码
在默认生成的Default.aspx 页面中,编写代码实现简单的查询功能,以下是完整的代码示例:
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Simple Query Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h1>Employee List</h1>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="EmployeeID" HeaderText="Employee ID" />
<asp:BoundField DataField="FirstName" HeaderText="First Name" />
<asp:BoundField DataField="LastName" HeaderText="Last Name" />
<asp:BoundField DataField="Position" HeaderText="Position" />
<asp:BoundField DataField="Salary" HeaderText="Salary" DataFormatString="{0:C}" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
private void BindGrid()
{
string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["SampleDBConnectionString"].ConnectionString;
string query = "SELECT EmployeeID, FirstName, LastName, Position, Salary FROM Employees";
using (SqlConnection con = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(query, con))
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
}
七、运行项目
按下 F5 键运行项目,浏览器中将显示一个包含员工信息的表格,该表格显示了从数据库中查询到的员工数据,包括员工 ID、姓名、职位和薪水等信息。
八、相关问题与解答
问题 1:如何在查询结果中只显示薪水高于某个值的员工?

解答:可以在 SQL 查询语句中添加WHERE 子句来过滤薪水高于指定值的员工,要显示薪水高于 50000 的员工,可以修改Default.aspx.cs 中的查询语句如下:
string query = "SELECT EmployeeID, FirstName, LastName, Position, Salary FROM Employees WHERE Salary > 50000";
重新运行项目后,表格中将只显示薪水高于 50000 的员工信息。
问题 2:如何对查询结果按照某个字段进行排序?
解答:可以在 SQL 查询语句中使用ORDER BY 子句来指定排序的字段和顺序,要按照员工的姓氏升序排序,可以修改Default.aspx.cs 中的查询语句如下:
string query = "SELECT EmployeeID, FirstName, LastName, Position, Salary FROM Employees ORDER BY LastName ASC";
这样,查询结果将按照员工的姓氏从 A 到 Z 的顺序显示在表格中。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/127075.html