Select 一个 属性 一个 object 与连接
Select a property of an object with join
我有一个 object 地方有一些属性(名称、经度、纬度等)
其中一个属性是 object "horizon".
Horizon有一个Dictionary <float,float>
(地点horizon中的一组点azimut-height)
我想构建一个 table 来存储 object "place",但是 object "horizon"
有问题
因为我不知道字典里有多少个点,所以我不能只为每个点建立一个列。
所以我想我必须创建另一个 table "dbo.horizons" 列
- 地点名称 -varChar
- 方位角 - 真实
- 真实身高
然后用JOIN来select全部点
但我不明白如何构建命令
如果我接受这样的命令:
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
的位置
谢谢
有很多方法,但让我们按照您当前的方式进行操作。
通过问题中的查询,每个地点将获得多行,因为您的数据读取器将有一行与地点相关联的每个 horizon。因此,您需要将位置保存在变量中,并在每次数据读取器循环到新行时检查它,看是否是同一个位置。如果是,则只需将 Horizon 添加到当前位置。如果它已经改变,那么你知道开始一个新的地方。
至于 INSERT,您将不得不执行 multi-step 操作。您不能使用单个命令插入两个 table。因此,您会将地点插入地点 table,然后将每个 Horizon 插入 Horizon table.
我有一个 object 地方有一些属性(名称、经度、纬度等) 其中一个属性是 object "horizon".
Horizon有一个Dictionary <float,float>
(地点horizon中的一组点azimut-height)
我想构建一个 table 来存储 object "place",但是 object "horizon"
有问题因为我不知道字典里有多少个点,所以我不能只为每个点建立一个列。
所以我想我必须创建另一个 table "dbo.horizons" 列
- 地点名称 -varChar
- 方位角 - 真实
- 真实身高
然后用JOIN来select全部点
但我不明白如何构建命令
如果我接受这样的命令:
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
的位置谢谢
有很多方法,但让我们按照您当前的方式进行操作。
通过问题中的查询,每个地点将获得多行,因为您的数据读取器将有一行与地点相关联的每个 horizon。因此,您需要将位置保存在变量中,并在每次数据读取器循环到新行时检查它,看是否是同一个位置。如果是,则只需将 Horizon 添加到当前位置。如果它已经改变,那么你知道开始一个新的地方。
至于 INSERT,您将不得不执行 multi-step 操作。您不能使用单个命令插入两个 table。因此,您会将地点插入地点 table,然后将每个 Horizon 插入 Horizon table.