探索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#编程在数据库交互方面的应用,期待你在实践中不断探索和提高。