之前不知道把(t.Substring(0, 2) == town.Substring(0, 2)) 和(s.Substring(0, 2) == town.Substring(0, 2)) 放到一起判断会还是会漏掉数据,后来调试发现不是代码执行问题,而是这个判断本来就不完整,有的数据读取先后不一样就会漏掉,所以两次循环保证全部取到了.
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string a = ds.Tables[0].Rows[i]["市"].ToString().Trim();
string c = ds.Tables[0].Rows[i]["县/区"].ToString();
string t = ds.Tables[0].Rows[i]["乡镇/街道"].ToString().Trim();
string s = ds.Tables[0].Rows[i]["站名"].ToString().Trim();
string n = ds.Tables[0].Rows[i]["区站号"].ToString().Trim();
if (t == "")
continue;
if (a.Substring(0, 2) == area.Substring(0, 2))
{
if (t.Substring(0, 2) == town.Substring(0, 2))
return n;
}
}
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string a = ds.Tables[0].Rows[i]["市"].ToString().Trim();
string c = ds.Tables[0].Rows[i]["县/区"].ToString();
string t = ds.Tables[0].Rows[i]["乡镇/街道"].ToString().Trim();
string s = ds.Tables[0].Rows[i]["站名"].ToString().Trim();
string n = ds.Tables[0].Rows[i]["区站号"].ToString().Trim();
if (t == "")
continue;
if (a.Substring(0, 2) == area.Substring(0, 2))
{
if (s.Substring(0, 2) == town.Substring(0, 2))
return n;
}
}
当判断条件分开时就会依次执行不用担心漏掉数据了