选择带有join的对象的属性



我有一个对象的一些属性(名称,经度,纬度等)其中一个属性是对象"horizon"。

地平线有一个Dictionary <float,float>(地点地平线的方位高度点集合)

我想建立一个表来存储对象"place",我在对象"horizon"上遇到了麻烦

由于我不知道字典中有多少个点,所以我不能为每个点建立一个列。

所以我想我必须创建另一个表"dbo "。"地平线"和列

  • 地名varchar
  • 方位-实际
  • height - real

,然后使用JOIN选择所有的

但是我不明白如何构建命令

如果我输入这样的命令:

SELECT places.name, places.longitude, places.latitude...,                 
horizon.azimut, horizon.height         
FROM places  LEFT JOIN dbo.horizons          
ON places.name = dbo.horizons.namePlace

我怎么读?

我使用dataRedaer.Read()读取数据库中的一行。

我如何得到所有的点,只建立一个地方?

在插入中也有同样的问题,我如何创建一个insert命令来插入地平线

谢谢

有很多方法,但让我们以您目前的方法为例。

对于问题中的查询,您将为每个位置获得多行,因为您的数据阅读器将为与某个位置相关的每个地平线拥有一行。因此,您需要将位置保存在一个变量中,并在每次数据读取器循环到新行时检查它,以查看这是否是同一个位置。如果是,那么只需将Horizon添加到当前Place。如果它已经改变了,那么你知道要开始一个新的地方。

对于INSERT,您将不得不执行一个多步骤操作。不能使用单个命令向两个表中插入数据。因此,您将插入位置到位置表中,然后将每个地平线插入到地平线表中。

相关内容

  • 没有找到相关文章

最新更新