【发布时间】:2022-01-20 15:10:33
【问题描述】:
我有两个表,第一个名为 TFile 的表包含两列:FromCity 和 ToCity。 它们将具有不同的值,但来自第二个表 (TCity) 的一列,特别是来自名为 CityName.Second 表名称 TCity 的列,它们有两列:IdCity 和 CityName。
我的问题我需要显示他们从第二个表 FromCity 和 ToCity 获得的两列的数据,并使用内部连接两次。
我使用这段代码来做到这一点:
SqlCommand comm = new SqlCommand("select * from TFile " +
"inner join TCity AS A ON TFile.FromCity = A.IdCity " +
"inner join TCity AS B ON TFile.ToCity = B.IdCity " + " WHERE " + "TFile.Name", con);
然后将数据显示给用户:
SqlDataReader srd = comm.ExecuteReader();
if (srd.HasRows)
{
while (srd.Read())
{
//FromCity
TextFrom.Text = srd["CityName"].ToString();
//ToCity
TextTo.Text = srd["CityName"].ToString();//=======================here problem
}
}
在数据显示的第一行中,我可以得到城市的名称,但如果我在第二行重复,它只会重复数据。这里有问题。我不能使用不同的名称来访问第二个查询,而不是字段名称 CityName。这是我显示城市名称的第二个表中的字段名称。
如何访问此查询中的数据:
"inner join TCity AS B ON TFile.ToCity = B.IdCity
因此,如果我访问它,则可以在此行中显示第二个数据:
TextTo.Text = srd["CityName"].ToString();
如何解决这个问题?
【问题讨论】: