标签:方法 bsp dbn pup sql content 选择 图片 ring
主要就是引用线程,实例化一个线程将需要执行的一个方法交给他,启动,执行完后自动关闭也可以手动关闭
//引用
using System.Threading;
使用
//实例化一个线程
Thread t1 = new Thread(CopyGongZi);
//启动
t1.Start();
注意,在线程中执行的方法要借助,静态变量进行赋值
protected void btnAddUpt_Click(object sender, EventArgs e)
{
bllmdXinZiJiXiao bllmdXinZiJiXiao = new bllmdXinZiJiXiao();
bllmdJiangJinList bllmdjiangjinlist = new bllmdJiangJinList();
//bllmdJieSuanTitle bllmdjiesuantitle = new bllmdJieSuanTitle();
string sqlUptlast = string.Empty;//修改-判断重复数据时使用
string sCopyTitle = this.WebCtrl_JieSuanTitle2._HidJieSuanGuid;
if (sCopyTitle == string.Empty)
{
WebMessageBox1.MessageBox_tishi(600, 300, 200, 100, "请选择需复制的标题");
return;
}
//.GetListSelmdGongZi3("YearMouth", base.EnterpriseGuid, " and YearMouth=‘" + sYearMonth + "‘");
// List mList = _bllJiSuanTitle.GetListSelmdJieSuanTitle3("Year");
List mList = _bllGongZi.GetListSelmdGongZi3("YearMouthTitle", base.EnterpriseGuid, " and Ext09=‘" + this.WebCtrl_JieSuanTitle2._HidJieSuanGuid + "‘");
if (mList.Count > 0)
{
WebMessageBox1.MessageBox_tishi(600, 300, 200, 100, "复制后的标题已存在,请重新选择");
return;
}
_xdeptguid = _XUserLogin.UserLoginOrganizationGuid;
_xdeptcode = _XUserLogin.UserLoginOrganizationCode;
_xdeptname = _XUserLogin.UserLoginOrganizationName;
_xHidJieSuanMonth = this.WebCtrl_JieSuanTitle2._HidJieSuanMonth;
_xHidJieSuanTitle = this.WebCtrl_JieSuanTitle2._HidJieSuanTitle;
_xHidJieSuanGuid = this.WebCtrl_JieSuanTitle2._HidJieSuanGuid;
xEnterpriseGuid = base.EnterpriseGuid;
_xJianjinGuid = _JianjinGuid;
xEnterpriseCode = base.EnterpriseCode;
xEnterpriseName = base.EnterpriseName;
xUserLoginGuid = _XUserLogin.UserLoginGuid;
xUserLoginID = _XUserLogin.UserLoginID;
xUserIP = _XUserLogin.UserIP;
ITEM.Model.qdMis4.mdGongZi mold = _bllGongZi.GetModelSelmdGongZi3("GongZiSort,GongZiGuid", xEnterpriseGuid, _xJianjinGuid);
xOld_GongZiSort = mold.GongZiSort;
xOld_GongZiGuid = mold.GongZiGuid;
_GongZiGuid_new = Guid.NewGuid().ToString();
_GongZiGuid_old = xOld_GongZiGuid;// mold.GongZiGuid;
//进行真正复制操作
Thread t1 = new Thread(CopyGongZi); //实例化一个线程
t1.Start(); //启动
//查看
Thread t2 = new Thread(GetChange); //实例化一个线程
t2.Start(); //启动
Response.Redirect("../qdExcel/ExcelMessage.aspx");
}
#region 设置静态变量进行赋值
private static string _GongZiGuid_new;
private static string _GongZiGuid_old;
public static string _xdeptguid;
private static string _xdeptcode;
private static string _xdeptname;
private static string _xHidJieSuanMonth;
private static string _xHidJieSuanTitle;
private static string _xHidJieSuanGuid;
private static string _xJianjinGuid;
private static string xEnterpriseGuid;
private static string xEnterpriseCode;
private static string xEnterpriseName;
private static string xUserLoginGuid;
private static string xUserLoginID;
private static string xUserIP;
private static string xOld_GongZiSort;
private static string xOld_GongZiGuid;
#endregion
private void CopyGongZi()
{
#region 调用字段对应关系
{
string sGongZiGuid = string.Empty;
//第一步,保存标题
int k = 0;
#region GongZi
mdGongZi mdgongzi = new mdGongZi();
mdgongzi.GongZiGuid = _GongZiGuid_new;// this.tbGongZiGuid.Text.Trim();//工资关键字
mdgongzi.QiyeGuid = base.EnterpriseGuid;//云端标识关键字
mdgongzi.QiyeCode = base.EnterpriseCode;//云端标识编码
mdgongzi.QiyeName = base.EnterpriseName;//云端标识名称
mdgongzi.DeptGuid = _xdeptguid;// _XUserLogin.UserLoginOrganizationGuid;//单位Guid
mdgongzi.DeptCode = _xdeptcode;// _XUserLogin.UserLoginOrganizationCode;//单位编码
mdgongzi.DeptName = _xdeptname;// _XUserLogin.UserLoginOrganizationName;//单位名称
mdgongzi.YearMouth = _xHidJieSuanMonth;// this.WebCtrl_JieSuanTitle2._HidJieSuanMonth; //sYearMonth;// this.tbYearMouth.Text.Trim();//年月标识,格式yyyyMM
mdgongzi.YearMouthTitle = _xHidJieSuanTitle;// this.WebCtrl_JieSuanTitle2._HidJieSuanTitle;// tbGongZiTitle.Text.Trim();// sYearMonth + "工资";// this.tbYearMouthTitle.Text.Trim();//工资标题
mdgongzi.Ext09 = _xHidJieSuanGuid;// this.WebCtrl_JieSuanTitle2._HidJieSuanGuid;// tbGongZiTitle.Text.Trim();// sYearMonth + "工资";// this.tbYearMouthTitle.Text.Trim();//工资标题
mdgongzi.e_XinZi_ShengHe_i = (int)ITEM.Inherits.Bll.CollEnum_Mis4.e_ShengHe.Enum.待提交;// Convert.ToInt32(this.ddle_XinZi_ShengHe_i.SelectedValue);//工资审核 0待提交 1待审核 2同意 -1打回
mdgongzi.e_XinZi_ShengHe_s = ITEM.Inherits.Bll.CollEnum_Mis4.e_ShengHe.Enum.待提交.ToString();// this.tbe_XinZi_ShengHe_s.Text.Trim();//工资审核 0待提交 1待审核 2同意 -1打回
//mdgongzi.XinZi_ShengHe_UserGuid = this.tbXinZi_ShengHe_UserGuid.Text.Trim();//工资审核人Guid
//mdgongzi.XinZi_ShengHe_UserLoginID = this.tbXinZi_ShengHe_UserLoginID.Text.Trim();//工资审核人LoginID
//mdgongzi.XinZi_ShengHe_Date = Convert.ToDateTime(this.tbXinZi_ShengHe_Date.Value);//工资审核时间
//mdgongzi.XinZi_ShengHe_Remark = this.tbXinZi_ShengHe_Remark.Text.Trim();//工资审核说明
//mdgongzi.Remark = this.tbRemark.Text.Trim();//备注
//ITEM.Model.qdMis4.mdGongZi mold = _bllGongZi.GetModelSelmdGongZi3("GongZiSort", xEnterpriseGuid, _xJianjinGuid);
mdgongzi.GongZiSort = xOld_GongZiSort;// mold.GongZiSort;
mdgongzi.Flag = 0;//数据标识
//mdgongzi.Flag_Remark = this.tbFlag_Remark.Text.Trim();//Flag标识说明,推荐使用枚举
mdgongzi.OrderBy = 0;//排序编号
mdgongzi.IsEnabled = 0;//是否禁用0-启用1-禁用
mdgongzi.IsDelete = 0;//逻辑删除0-正常1-删除
mdgongzi.CreateUserID = xUserLoginID;// _XUserLogin.UserLoginID;//数据创建者登录用户名
mdgongzi.CreateUserGuid = xUserLoginGuid;// _XUserLogin.UserLoginGuid;//数据创建者的关键字Guid
mdgongzi.Create_IP = xUserIP;// base.GetIp();//数据创建者IP地址
mdgongzi.CreateTime = DateTime.Now;//创建时间
mdgongzi.UpdateUserID = xUserLoginID;// _XUserLogin.UserLoginID;//数据修改这的登录用户名
mdgongzi.UpdateUserGuid = xUserLoginGuid;// _XUserLogin.UserLoginGuid;//数据修改者的关键字Guid
mdgongzi.Update_IP = xUserIP;// base.GetIp();//数据修改者IP地址
mdgongzi.UpdateTime = DateTime.Now;//最后一次修改时间
sGongZiGuid = mdgongzi.GongZiGuid;
k = _bllGongZi.SetAddmdGongZi(mdgongzi);
#endregion
//第二步,导入数据
#region copy
if (k > 0)
{
try
{
Dictionarystring, string> dic = new Dictionarystring, string>();
dic.Add("GongZiListGuid", "{Guid}");
dic.Add("GongZiGuid", sGongZiGuid);
dic.Add("Ext09", _xHidJieSuanGuid);
dic.Add("YearMouth", _xHidJieSuanMonth);
dic.Add("YearMouthTitle", _xHidJieSuanTitle);
//dic.Add("YearMouth", this.tbYearMouth.Value.Trim());
//dic.Add("YearMouthTitle", tbGongZiTitle.Text.Trim());
string sError = string.Empty;
int kk = _bllFileds.Set_Ex_DataCopy(xEnterpriseGuid, xEnterpriseCode, xEnterpriseName, "1", " GongZiGuid=‘" + _xJianjinGuid + "‘", dic, xUserLoginGuid, xUserLoginID, xUserIP, ref sError);
if (kk > 0)
{
WebMessageBox1.MessageBox_tishi(600, 300, 200, 100, "工资复制成功,请在待提交中查看");
//string script = string.Empty;
//script += "//script += base.GetSrcriptContentByClick("btnSearch");
//script += "parent.WebPopupCancel();";
//ClientScript.RegisterClientScriptBlock(this.GetType(), "WebPopupCancel", script);
}
else
{
WebMessageBox1.MessageBox_tishi(600, 300, 200, 100, "工资复制失败");
int kkk = _bllGongZi.SetDelmdGongZi(sGongZiGuid, xUserLoginGuid, xUserLoginID, xUserIP);
}
}
catch
{
WebMessageBox1.MessageBox_tishi(600, 300, 200, 100, "工资复制失败");
int kk = _bllGongZi.SetDelmdGongZi(sGongZiGuid, xUserLoginGuid, xUserLoginID, xUserIP);
}
}
else
{
WebMessageBox1.MessageBox_tishi(600, 300, 200, 100, "工资复制失败");
int kk = _bllGongZi.SetDelmdGongZi(sGongZiGuid, xUserLoginGuid, xUserLoginID, xUserIP);
}
#endregion
}
#endregion
}
private void GetChange()
{
while (true)
{
string strsql1 = "select count(*) from tbmdGongZiList where QiyeGuid=‘" + xEnterpriseGuid + "‘ and GongZiGuid=‘" + _GongZiGuid_new + "‘";
string strsql2 = "select count(*) from tbmdGongZiList where QiyeGuid=‘" + xEnterpriseGuid + "‘ and GongZiGuid=‘" + _GongZiGuid_old + "‘";
object obj1 = _bllGongZiList.GetScalarByTx(strsql1);
object obj2 = _bllGongZiList.GetScalarByTx(strsql2);
if (obj1 != DBNull.Value && obj2 != DBNull.Value)
{
base.ExcelUpLoadMessage = "当前正在复制:" + obj1.ToString() + " / " + obj2.ToString();
}
else
{
return;
}
if (obj1 == obj2)
{
base.ExcelUpLoadMessage = "复制运算完毕,共更新了" + obj1.ToString() + "条数据,点击这里返回";
return;
}
}
}
.NET ------ 多线程的简单使用
标签:方法 bsp dbn pup sql content 选择 图片 ring
原文地址:https://www.cnblogs.com/obge/p/13274659.html