我在c#中有一個數據表,並且我想添加一列來存儲地理格式的經度和緯度座標,然後在sql server中批量複製。我應該以什麼格式爲此創建數據列?你能指導我嗎?在數據表中的c#geography列
1
A
回答
3
我們必須使用位於 下參考DLL 「C:\ Program Files文件(x86)的\ Microsoft SQL Server的\ 100 \ SDK \組件\ Microsoft.SqlServer.Types.dll」
using Microsoft.SqlServer.Types;
之後,我們可以創建數據表中的列,存儲一些數據,併成功通過批量發送將它們發送到sql服務器
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Geom", typeof(SqlGeometry));
DataRow newRow = datatable.NewRow();
newRow["Geom"] = SqlGeometry.Point(lat, lon, 4326);
datatable.Rows.Add(newRow);
SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(connection);
sqlBulkCopy.DestinationTableName = "MySpatialDataTable";
sqlBulkCopy.WriteToServer(dataTable);
0
每列的類型應該與Decimal(9,6)
類似,其中您的長度爲9
,預編號爲6
。因此,允許的最大值可能是180°
如果你想得到真正的挑剔,它實際上可能是。
緯度:(90°最大赤道0北\南)
經度:Decimal(9,6)
(180°最大至-180°)在C#
十進制格式
###.######
編輯:每個評論。如果你想將它們結合在一起,你將需要使用一個nvarchar(25)
(可能小於25,但留下格式化複製空間)。至於確切的批量複製聲明,您需要提供數據樣本。
相關問題
- 1. 輸入geography列數據
- 2. STContains on Geography列
- 3. 添加數據表中的列在C#
- 4. 在Sql Geography列或更簡單的列中存儲Long/Lat?
- 5. 數據表中的C#列增量
- 6. C++中的通用數據列表
- 7. 解析C#列表中的json數據
- 8. 影響C#中的數據表列值
- 9. C#中數據庫的多列圖表
- 10. 如何在C#中的數據表中查找列的存在?
- 11. 如何排序在C#中的數據表列表?
- 12. 在C#中的列表中保存不同類型的數據#
- 13. 如何在C#中的一行刪除數據表中的列?
- 14. 在數組列表中的數據排序C#Windows phone 7
- 15. 從C列表中獲取數據#
- 16. 從c列表中獲取數據#
- 17. C++在STL列表上打印數據
- 18. C#中列表的子列表計數
- 19. 如何在c#reportviewer中訪問嵌套列表中的數據?
- 20. C#從數據庫添加數據表中的列
- 21. 插入數據庫中的數據到列表框C#
- 22. 在數據框列表中更改數據幀中的每列
- 23. 在F#中,如何使用Type Provider訪問Sql Server Geography數據類型?
- 24. 在C中的數組keyvaluepair的列表#
- 25. C#在數據表中添加現有CSV文件列中的數據
- 26. 在數據表中更新列表框中的數據
- 27. C中的數組列表#
- 28. c#中的列表數組
- 29. 使用Simple.Data處理Sql Server Geography數據類型
- 30. 在C中輸入數組的列表#
嗨尼科!我怎樣才能將Lat,Long的兩列結合起來,通過批量拷貝將它存儲在sql geography列中? – George
@George更新每個評論的問題。 – Nico