SQL Server 2014:转换并保存位置坐标

时间:2016-09-26 14:34:44

标签: c# asp.net sql-server linq

我想将坐标保存到SQL Server。

Decimal latitude, longitude;

String[] location = txt_coord.Text.Split(',');
latitude = Convert.ToDecimal(location[0]);
longitude = Convert.ToDecimal(location[1]);

使用LINQ保存

tbl_location loc = new tbl_location();
loc.ID = personal.id_personalinfo;
loc.latitude = latitude;
loc.longitude = longitude;

db.tbl_locations.InsertOnSubmit(loc);

db.SubmitChanges();

转换时实际发生错误,我在SQL Server中使用了decimal(18, 9)数据类型。错误是:

  

System.FormatException:输入字符串的格式不正确。

这是否意味着字符串本身就是错误......!?

另外,对坐标使用小数是否正确?我应该使用地理位置(互联网说LINQ不支持这种数据类型。)

帮助。

1 个答案:

答案 0 :(得分:0)

您获得的异常表示由于输入参数无效,Convert.ToDecimal(...)失败。

location[0]location[1]的值不是您所期望的值(如果发生异常的话)。