c# - 将城市 ID 保存到数据库并在检索数据时获取城市名称?

标签 c# sql-server

我有一个 person 类,它具有 Name、CNIC、Gender、City 属性。

将数据保存到数据库时一切正常。

我用城市填充下拉列表,用户可以选择城市,城市的 ID 将保存在 tblpersonCity 列中,该列的外键约束为 tblcity ID 列。

现在,当我想从 tblPerson 检索数据时,一切都很好,并且我能够在文本框中显示数据,尽管我获取的是城市 ID 而不是城市名称

但我想获取文本框中显示的城市名称。我怎样才能做到这一点?

我认为我应该做的是:

  1. 在城市类 getCityName 中创建一个新方法。

  2. 将城市 ID 从 person.City 传递到城市类的 getCityName 方法。

  3. 从数据库中的tblCity表获取城市名称

这种做法对吗?如果没有那么更好的方法是什么?

最佳答案

您只需编写适当的 SQL 查询即可。 JOIN 语句允许您从多个表中检索数据,并且 SELECT 语句可以返回该数据。

在您的情况下,查询应该是这样的

SELECT p.Name, p.CNIC , p.Gender, p.City, c.CityName
FROM tblperson p LEFT JOIN  tblCity c ON p.City = c.ID

(当然我已经猜到了包含城市名称的列名称。
如果不同,您可以更改它)

您可以使用您最喜欢的搜索引擎找到一些有关 JOIN 的有趣文档。
例如,这来自 Microsoft Technet

关于c# - 将城市 ID 保存到数据库并在检索数据时获取城市名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36516980/

相关文章:

sql-server - 如何将Azure SQL数据库的存储大小扩大到大于4 TB?

sql-server - 我想从每个类别的表中选择随机问题

.net - SQL Server CLR 函数

sql-server - 使用 SQL Server Profiler 捕获查询结果

C# TIFF 位智能检查

c# - 使用 `lock` 比 `SemaphoreSlim` 有什么优势?

c# - Resharper 9 文件布局 : defining sort order when sorting by access modifier not possible?

c# - TabControl 内的 WPF 句柄快捷方式(CTRL+F 搜索)

c# - 为什么克隆的 UIElement 或 FrameworkElement 的样式丢失

php - 在 SQL 表中查找具有特定部分值列的行