向DataTable guestneeds中加数据
从给定的needid开始循环,0 <= needid <= 999。
其中0 《= neeid < 900是区间一,900 <= neeid <=999是区间二。
如果给的needid >= 900,循环中递增到超过999,则查区间一是否可加入数据(即区间现有数字是否小于900)有则加,没有则停止加入数据。
其它部分正常,可是得不到needid=999的那一项。请高手指教下,到底是哪时出问题了呢? //循环开始
string[] arr = str.Split('\n');
foreach (string s in arr)
{
s.Trim();
if (needid == -1)//如果已经累加过一次,则什么也不做
{
}
else if (needid < 900)
{ DataRow newRow;
newRow = guestneeds.NewRow();
needtxt = s;
DataRow[] foundRows;
foundRows = guestneeds.Select("needs ='" + needtxt + "'");
if (foundRows.Length == 0)//如果为新要求
{
newRow["needcode"] = needid.ToString();
guestneeds.Rows.Add(newRow);
guestneeds.AcceptChanges();
needcod = needcod + needid.ToString();
}
needid++;
} else //如果needid >= 900
{
if (needid > 999)//如果needid > 999,查小于900 needid的最小序号
{
DataRow[] foundCode;
foundCode = guestneeds.Select("needcode < 900", "needcode DESC");
needid = str2int(foundCode[0]["needcode"].ToString()) + 1;//此处应为查找到的小于990的最大needid
if (needid < 900)//如果查到的最小序号小于899
{
DataRow newRow;
newRow = guestneeds.NewRow();
needtxt = s;
DataRow[] foundRows;
foundRows = guestneeds.Select("needs ='" + needtxt + "'");
if (foundRows.Length == 0)//如果为新要求
{
newRow["needcode"] = needid.ToString();
guestneeds.Rows.Add(newRow);
guestneeds.AcceptChanges();
needcod = needcod + needid.ToString();
}
needid++;
}
else//如果查到的needie=899,录入数据已超过999个
{
needid = -1;//停止数据加入
}
}
else//如果900 <= needid <= 999
{
DataRow newRow;
newRow = guestneeds.NewRow();
needtxt = s;
DataRow[] foundRows;
foundRows = guestneeds.Select("needs ='" + needtxt + "'");
if (foundRows.Length == 0)//如果为新要求
{
newRow["needcode"] = needid.ToString();
guestneeds.Rows.Add(newRow);
guestneeds.AcceptChanges();
needcod = needcod + needid.ToString();
}
needid++;
}
}
}
从给定的needid开始循环,0 <= needid <= 999。
其中0 《= neeid < 900是区间一,900 <= neeid <=999是区间二。
如果给的needid >= 900,循环中递增到超过999,则查区间一是否可加入数据(即区间现有数字是否小于900)有则加,没有则停止加入数据。
其它部分正常,可是得不到needid=999的那一项。请高手指教下,到底是哪时出问题了呢? //循环开始
string[] arr = str.Split('\n');
foreach (string s in arr)
{
s.Trim();
if (needid == -1)//如果已经累加过一次,则什么也不做
{
}
else if (needid < 900)
{ DataRow newRow;
newRow = guestneeds.NewRow();
needtxt = s;
DataRow[] foundRows;
foundRows = guestneeds.Select("needs ='" + needtxt + "'");
if (foundRows.Length == 0)//如果为新要求
{
newRow["needcode"] = needid.ToString();
guestneeds.Rows.Add(newRow);
guestneeds.AcceptChanges();
needcod = needcod + needid.ToString();
}
needid++;
} else //如果needid >= 900
{
if (needid > 999)//如果needid > 999,查小于900 needid的最小序号
{
DataRow[] foundCode;
foundCode = guestneeds.Select("needcode < 900", "needcode DESC");
needid = str2int(foundCode[0]["needcode"].ToString()) + 1;//此处应为查找到的小于990的最大needid
if (needid < 900)//如果查到的最小序号小于899
{
DataRow newRow;
newRow = guestneeds.NewRow();
needtxt = s;
DataRow[] foundRows;
foundRows = guestneeds.Select("needs ='" + needtxt + "'");
if (foundRows.Length == 0)//如果为新要求
{
newRow["needcode"] = needid.ToString();
guestneeds.Rows.Add(newRow);
guestneeds.AcceptChanges();
needcod = needcod + needid.ToString();
}
needid++;
}
else//如果查到的needie=899,录入数据已超过999个
{
needid = -1;//停止数据加入
}
}
else//如果900 <= needid <= 999
{
DataRow newRow;
newRow = guestneeds.NewRow();
needtxt = s;
DataRow[] foundRows;
foundRows = guestneeds.Select("needs ='" + needtxt + "'");
if (foundRows.Length == 0)//如果为新要求
{
newRow["needcode"] = needid.ToString();
guestneeds.Rows.Add(newRow);
guestneeds.AcceptChanges();
needcod = needcod + needid.ToString();
}
needid++;
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货