我想将坐标保存到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不支持这种数据类型。)
帮助。
答案 0 :(得分:0)
您获得的异常表示由于输入参数无效,Convert.ToDecimal(...)
失败。
location[0]
或location[1]
的值不是您所期望的值(如果发生异常的话)。