在Datatable中按最后一次迭代覆盖记录 [英] Overwrite record by last iteration in Datatable
本文介绍了在Datatable中按最后一次迭代覆盖记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果我有3个IP地址,则其中两个处于活动状态,一个处于关闭状态。但
博士[状态] =Y;和博士[状态] =N;仅在所有记录中显示N.请帮助
If I have 3 IP address the out of which two are live and one is at Off state. but the
dr["Status"] = "Y"; and dr["Status"] = "N"; only shows N in all records. Please help
protected void Page_Load(object sender, EventArgs e)
{
SqlDataAdapter da = new SqlDataAdapter("SELECT PS, PS_IP_ADDRESS FROM m_police_station where STATE_CD=21 and PS_IP_ADDRESS is not Null and LANG_CD=99", con);
DataSet ds = new DataSet();
da.Fill(ds);
List<string> strIP = new List<string>();
foreach(DataRow row in ds.Tables[0].Rows)
{
strIP.Add(row["PS_IP_ADDRESS"].ToString());
}
DataTable dt = ds.Tables[0];
dt.Columns.Add("Status", typeof(string));
foreach (DataRow dr in dt.Rows)
{
foreach (string s in strIP)
{
Ping p = new Ping();
PingReply r;
// String str = "10.0.0.0";
r = p.Send(s);
Response.Buffer = false;
if (r.Status == IPStatus.Success)
{
dr["Status"] = "Y"; // Response.Write("Success \n");
}
else
{
dr["Status"] = "N"; // Response.Write("fail");
}
}
Grid_Online_offline.DataSource = dt;
Grid_Online_offline.DataBind();
}
}
推荐答案
if (r.Status == IPStatus.Success)
{
dr["Status"] = "Y"; // Response.Write("Success \n");
}
else
{
dr["Status"] = "N"; // Response.Write("fail");
}
您为IP更新的状态仅为N。请更改此内容。
The status you update for the IP is Only "N". Please change this.
这篇关于在Datatable中按最后一次迭代覆盖记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文