探索C#编程:构建数据库查询与显示功能

探索C#编程:构建数据库查询与显示功能

背景简介

在软件开发中,与数据库的交互是一个重要环节。本篇博客将基于《C#编程基础》书籍中的相关章节内容,详细探讨如何使用C#语言创建属性、列出人员名单、构建数据库连接字符串,以及如何执行SQL查询并将查询结果展示在用户界面上。

制作属性

在C#中,属性是类的重要组成部分,允许封装和访问类的数据。通过使用 get set 访问器,可以实现对属性的读取和写入操作。例如:

public string Name { get; set; }
public decimal? Salary { get; set; }

在这里, decimal? 表示 Salary 是一个可空的十进制类型,意味着它可以不包含值。

制作人员名单

要创建一个人员名单,我们首先需要创建一个 Person 类的列表,并为它添加新的 Person 对象。例如:

List<Person> peopleList = new List<Person>();

构建连接字符串

为了从数据库中获取数据,我们需要构建一个连接字符串。连接字符串包含了数据库服务器的信息和访问数据库所需的凭据。例如:

string connString = @"Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=People;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";

输入SQL相关代码

接下来,我们将编写SQL相关代码以执行查询。我们创建一个 SqlConnection 对象,并用之前构建的连接字符串初始化它。然后,创建一个 SqlCommand 对象来执行SQL语句,并通过 SqlDataReader 对象来读取数据。

using (SqlConnection conn = new SqlConnection(connString))
{
    SqlCommand comm = new SqlCommand("select * from dbo.People", conn);
    conn.Open();
    using (SqlDataReader reader = comm.ExecuteReader())
    {
        while (reader.Read())
        {
            peopleList.Add(new Person() { Name = (string)reader[1], Salary = reader[3] as decimal? });
        }
    }
}

将人员从表格添加到列表中

通过遍历数据库中的记录,我们可以将每个人员的信息添加到 peopleList 中。注意处理可空类型的字段,确保当数据缺失时,程序能够正确处理。

while(reader.Read())
{
    peopleList.Add(new Person() { Name = (string)reader[1], Salary = reader[3] as decimal? });
}

显示记录

最后,我们将遍历 peopleList 列表,并将每个人员的姓名和薪水显示在用户界面上。使用C#的字符串插值功能,我们可以格式化显示结果。

foreach (Person p in peopleList)
{
    sampLabel.Text += $"<br>{p.Name}, {p.Salary:C}";
}

运行程序

在完成上述所有步骤后,程序的运行将展示从数据库中提取的记录,包括能够处理薪水数据缺失的情况。

总结与启发

通过对本章节内容的学习,我们了解了如何使用C#创建属性、如何与数据库交互以及如何处理可能的空值。这种处理可空类型的能力是构建健壮应用程序的关键。通过实践,我们可以提高对C#语言特性的理解,更好地掌握数据访问和用户界面展示的技巧。

希望本篇博客能够帮助你更深入地理解C#编程在数据库交互方面的应用,期待你在实践中不断探索和提高。