{
for (int i = 0i <100i++)
{
Thread.Sleep(10)
this.Dispatcher.BeginInvoke(new Action(
() =>
{
this.textBox1.Text += DateTime.Now.ToString()
this.textBox1.Text += "\r\n"
this.progressBar1.Value = i + 1
}))
}
}
Thread thread = new Thread(UpdateUI)
thread.Start()
//【第一步】编写连接字符串string conString = "Server=连接的服务器DataBase=需要访问的数据库Uid=登录账号Pwd=登录密码"
//【第二部】创建连接对象
SqlConnection conn = new SqlConnection(conString)
//【第三步】SQL *** 作指令
string sql = "select * from TableName"
//【第四部】创建Command对象
SqlCommand cmd = new SqlCommand(sql, conn)
//【第五步】打开连接
conn.Open()
//【第六步】执行查询 *** 作
SqlDataReader objReader = cmd.ExecuteReader()
while(objReader.Read())
{
Console.WriteLine(objReader["列名"])
}
//【注意】如果是执行增、删、改 *** 作
int result = cmd.ExecuteNonQuery()
//【第七步,一定要注意】关闭连接
conn.Close()
线程内变量 a 的值来自 TB,然后 a++ 再返回 TB,这不就是相加2000次吗,没问题。你用的是 this.Dispatcher.Invoke,因为2个线程影响的是同一个 TB,会排队执行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)