我有一个需求,
需要每5秒钟执行一次,每次执行的过程需要循环根据条件查询SQL数据,之后计算在写入SQL。
怎么做才能最好。我现在做法是
定义一个静态的SqlConnection 对象共享使用。每5秒打开一次,处理完成之后再关闭。处理过程中循环语句用到的SqlConnection 对象就不进行频繁打开和关闭了。请教大家有什么好的办法。
需要每5秒钟执行一次,每次执行的过程需要循环根据条件查询SQL数据,之后计算在写入SQL。
怎么做才能最好。我现在做法是
定义一个静态的SqlConnection 对象共享使用。每5秒打开一次,处理完成之后再关闭。处理过程中循环语句用到的SqlConnection 对象就不进行频繁打开和关闭了。请教大家有什么好的办法。
int count = ds.Tables["[Sheet1$]"].Rows.Count; for (int i = 0; i < count; i++)
{ string PN80, PN52, Customer, Dep, UserCount; PN80 = ds.Tables["[Sheet1$]"].Rows[i]["PN80"].ToString().Trim(); PN52 = ds.Tables["[Sheet1$]"].Rows[i]["PN50"].ToString().Trim(); Customer = ds.Tables["[Sheet1$]"].Rows[i]["客户名称"].ToString().Trim();
Dep = ds.Tables["[Sheet1$]"].Rows[i]["Dep"].ToString().Trim(); UserCount = ds.Tables["[Sheet1$]"].Rows[i]["人手数量"].ToString().Trim();
Manger.NewDate(PN80, PN52, Customer, Dep, Flow, Convert.ToInt32(UserCount)); }
我发现一不小心就过程那个地方 try catch或者没注意就进入 SqlConnection 被关闭或者正在打开的过程中,反正不是open的状态。这种现象虽然不是很经常出现,但是作为一个windows service这样的错误是不被允许的。不知道大家怎么看这个问题,难道对每次的数据库操作都判断open状态么?