2014-12-03 42 views
0

我有一個數據表,我需要循環並刪除任何特殊字符,如'和&以及任何空字符串。C#Datatable Escape特殊字符

我需要檢查的列有:

Address1 - need to be checked for special chars and empty strings 
Address2 - need to be checked for special chars and empty strings 
Address3 - need to be checked for special chars and empty strings 
lat - need to check its not 0 
lng - need to check its not 0 

然後我需要修復的數據表中該記錄並移動到下一個,重複,直到整個數據表已定。我不想更新底層數據庫。

我有一個谷歌地圖API網頁,它失敗,如果任何字段爲空或包含特殊字符。我將把固定的數據表綁定到地圖上。

任何幫助將非常感激,

謝謝

+1

如果您顯示了一些您的實際代碼,我們可以幫助解決這些問題。或者這是一個'寫代碼 - 請'的問題嗎? – Steve 2014-12-03 12:34:42

+0

你的解決方法很簡單,你只需發佈你的需求來做你的家庭作業。無論你寫什麼 – 2014-12-03 12:35:24

回答

0

只需使用一個foreach -loop和修改DataRows

foreach(DataRow row in dataTable.Rows) 
{ 
    string addr1 = row.Field<string>("Address1"); 
    addr1 = addr1.Replace("'", "").Replace("&", "").Replace(" ", ""); 
    row.SetField("Address1", addr1); 

    string addr2 = row.Field<string>("Address2"); 
    addr2 = addr2.Replace("'", "").Replace("&", "").Replace(" ", ""); 
    row.SetField("Address2", addr2); 

    string addr3 = row.Field<string>("Address3"); 
    addr3 = addr3.Replace("'", "").Replace("&", "").Replace(" ", ""); 
    row.SetField("Address3", addr3); 

    string lat = row.Field<string>("lat"); 
    lat = lat.Replace("0", ""); 
    row.SetField("lat", lat); 

    string lng = row.Field<string>("lng"); 
    lng = lng.Replace("0", ""); 
    row.SetField("lng", lng); 
} 

如果latlng實際上int -columns,SetField支持可空類型:

// ... 
int lat = row.Field<int>("lat"); 
int? newLat = null; 
if(lat != 0) newLat = lat; 
row.SetField("lat", newLat); 

int lng = row.Field<int>("lng"); 
int? newLng = null; 
if (lng != 0) newLng = lat; 
row.SetField("lng", newLng); 
// ... 
+0

謝謝你,只需要指向正確的方向添加一些代碼。感謝你的幫助 – user4316519 2014-12-03 12:48:59