SqlDb db = null;
Form1 cs = new Form1();
SubmitData sdata = new SubmitData();
string str = "select top 1 * from dbo.In_Interface";
DataSet dataSet = db.GetDs(str);
db.GetDataReader(str);
SqlDataReader dr = db.GetDataReader(str);
if (dr.Read())
{
school = dr["school"].ToString();
stuno = dr["stuno"].ToString();
}
StreamReader reader = cs.PostMsg(sdata.SubmitDeleteStudent("110000000001", "/deleteStudent", school, stuno), "/deleteStudent");
string xmlstr = "";
string s = "";
if (reader != null)
{
while ((s = reader.ReadLine()) != null)
{
xmlstr = xmlstr + s;
}
reader.Close();
}
XmlDocument xml = new XmlDocument();
string rut = "";
xml.LoadXml(xmlstr);
XmlNodeList xmllist = xml.GetElementsByTagName("hRet");
foreach (XmlNode xn2 in xmllist)
{
XmlElement xe2 = (XmlElement)xn2;
rut = xe2.InnerText.ToString();
}
if (rut == "0")
{
string str1 = "update dbo.In_Interface set status=9 where ststus=0";
db.GetDataReader(str1);
}
执行这段代码,如果rut返回为0表示执行成功,如果不为0表示不成功。
请问一下,我在线程中执行这段代码的时候,我怎么取得他成功数的总数和不成功的总数了?
Form1 cs = new Form1();
SubmitData sdata = new SubmitData();
string str = "select top 1 * from dbo.In_Interface";
DataSet dataSet = db.GetDs(str);
db.GetDataReader(str);
SqlDataReader dr = db.GetDataReader(str);
if (dr.Read())
{
school = dr["school"].ToString();
stuno = dr["stuno"].ToString();
}
StreamReader reader = cs.PostMsg(sdata.SubmitDeleteStudent("110000000001", "/deleteStudent", school, stuno), "/deleteStudent");
string xmlstr = "";
string s = "";
if (reader != null)
{
while ((s = reader.ReadLine()) != null)
{
xmlstr = xmlstr + s;
}
reader.Close();
}
XmlDocument xml = new XmlDocument();
string rut = "";
xml.LoadXml(xmlstr);
XmlNodeList xmllist = xml.GetElementsByTagName("hRet");
foreach (XmlNode xn2 in xmllist)
{
XmlElement xe2 = (XmlElement)xn2;
rut = xe2.InnerText.ToString();
}
if (rut == "0")
{
string str1 = "update dbo.In_Interface set status=9 where ststus=0";
db.GetDataReader(str1);
}
执行这段代码,如果rut返回为0表示执行成功,如果不为0表示不成功。
请问一下,我在线程中执行这段代码的时候,我怎么取得他成功数的总数和不成功的总数了?
Form1 cs = new Form1();
SubmitData sdata = new SubmitData();
string str = "select top 1 * from dbo.In_Interface";
DataSet dataSet = db.GetDs(str);
db.GetDataReader(str);
SqlDataReader dr = db.GetDataReader(str);
if (dr.Read())
{
school = dr["school"].ToString();
stuno = dr["stuno"].ToString();
}
StreamReader reader = cs.PostMsg(sdata.SubmitDeleteStudent("110000000001", "/deleteStudent", school, stuno), "/deleteStudent");
string xmlstr = "";
string s = "";
if (reader != null)
{
while ((s = reader.ReadLine()) != null)
{
xmlstr = xmlstr + s;
}
reader.Close();
}
XmlDocument xml = new XmlDocument();
string rut = "";
xml.LoadXml(xmlstr);
XmlNodeList xmllist = xml.GetElementsByTagName("hRet");
int successcount = 0;
int failcount = 0; foreach (XmlNode xn2 in xmllist)
{
XmlElement xe2 = (XmlElement)xn2;
rut = xe2.InnerText.ToString();
if(rut == "0")
successcount++;
else
failcount++; }
if (rut == "0")
{
string str1 = "update dbo.In_Interface set status=9 where ststus=0";
db.GetDataReader(str1);
}
volatile int count = 0;
用该变量统计成功个数
int successcount = 0;//成功线程
int failcount = 0;//不成功线程
将上边代码定义为函数,返回rut根据调用时返回值累加两个变量来统计
就是不知道在线程中如何来取得rut返回值
{
Thread.Sleep(1000);
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(ListViewBind));
}
else
{
try
{ string str = "select * from table ";
DataSet dataset = db.GetDs(str);
this.listView2.Columns.Add("调用接口", 80, HorizontalAlignment.Center);
this.listView2.Columns.Add("成功数", 80, HorizontalAlignment.Center);//增加列标题
this.listView2.Columns.Add("失败数", 80, HorizontalAlignment.Center); listView2.View = View.Details;
listView2.GridLines = true;//显示网格线。。
string[] str1 = new string[3];
foreach (DataRow row in dataset.Tables[0].Rows)
{
str1[0] = row["Interface"].ToString();
str1[1] = row["sucnum"].ToString();
str1[2] = row["failnum"].ToString();
ListViewItem item = new ListViewItem();
item.SubItems.Clear();
item.SubItems[0].Text = str1[0].ToString();
item.SubItems.Add(str1[1]);
item.SubItems.Add(str1[2]);
listView2.Items.Add(item);
}
}
catch (Exception ee)
{
Console.WriteLine(ee.Message);
} }
}
线程就是这样 ,就是不知道在这里面该怎么统计
public partial class FormThread : Form
{
int a = 0;
int b = 0;
public FormThread()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(hello));
thread.Start();
while (true)
{
if (thread.ThreadState == ThreadState.Stopped)
{
this.textBox1.Text = a.ToString();
this.textBox2.Text = b.ToString();
break;
} }
} public void hello()
{
for (int i = 0; i < 100; i++)
{
if (i % 3 == 0)
{
a++;
}
else
{
b++;
}
}
}
}一个在线程里调用全局变量的例子
每次调用
如
sucess++;
或
failed++;
int failcount = 0;
if(rut == "0")
successcount++;
else
failcount++;
Form1 cs = new Form1();
SubmitData sdata = new SubmitData();
string str = "select top 1 * from dbo.In_Interface";
DataSet dataSet = db.GetDs(str);
db.GetDataReader(str);
SqlDataReader dr = db.GetDataReader(str);
if (dr.Read())
{
school = dr["school"].ToString();
stuno = dr["stuno"].ToString();
}
StreamReader reader = cs.PostMsg(sdata.SubmitDeleteStudent("110000000001", "/deleteStudent", school, stuno), "/deleteStudent");
string xmlstr = "";
string s = "";
if (reader != null)
{
while ((s = reader.ReadLine()) != null)
{
xmlstr = xmlstr + s;
}
reader.Close();
}
XmlDocument xml = new XmlDocument();
string rut = "";
xml.LoadXml(xmlstr);
XmlNodeList xmllist = xml.GetElementsByTagName("hRet");
int successcount = 0;
int failcount = 0; foreach (XmlNode xn2 in xmllist)
{
XmlElement xe2 = (XmlElement)xn2;
rut = xe2.InnerText.ToString();
if(rut == "0")
successcount++;
else
failcount++; }
if (rut == "0")
{
string str1 = "update dbo.In_Interface set status=9 where ststus=0";
db.GetDataReader(str1);
}
帮你顶了