【问题标题】:SQL Server 2014: Convert and save location coordinatesSQL Server 2014:转换和保存位置坐标
【发布时间】:2016-09-26 14:34:44
【问题描述】:

我想将坐标保存到 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 不支持这种数据类型。)

帮助。

【问题讨论】:

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


    【解决方案1】:

    您得到的异常表明 Convert.ToDecimal(...) 由于输入参数无效而失败。

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

    【讨论】:

    • 我发现了错误,由于 modalPopup 引起的回发,位置无法传递到代码后面,我找到了另一种避免回发的方法,感谢您告诉我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-08
    • 1970-01-01
    • 2014-12-02
    • 2013-08-13
    • 2014-07-21
    • 1970-01-01
    • 2012-08-19
    相关资源
    最近更新 更多