2016-09-26 25 views
0

我想將座標保存到SQL Server。SQL Server 2014:轉換並保存位置座標

Decimal latitude, longitude; 

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

使用LINQ to保存

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

您收到的異常表示Convert.ToDecimal(...)由於輸入參數無效而失敗。

location[0]location[1]的值不是您期望的值(如果這是發生異常的地方)。

+0

我發現了錯誤,由於modalPopup引起的回傳,位置無法傳遞給後面的代碼,所以我找到了一種避免回傳的替代方法,謝謝你告訴我。 – kol