这种情况一年出现不了几次,回收程序池就会恢复正常。
保存的方法如下:
public string add(string tableName,Hashtable ht)
{
string errorStr = null;
DataSet ds=new DataSet();
DataTable dt=new DataTable();
string sql = "Select Top 1 * From " + tableName + "";
SqlDataAdapter sqlAd = new SqlDataAdapter(sql, Conn);
SqlCommandBuilder thisBuilder = new SqlCommandBuilder(sqlAd);
sqlAd.Fill(ds,"dtTemp");
dt = ds.Tables["dtTemp"];
DataRow dr;
dr = dt.NewRow();
IDictionaryEnumerator et = ht.GetEnumerator();
while (et.MoveNext())
{
if (!IsNullOrEmpty(et.Value))
dr[et.Key.ToString()] = et.Value.ToString();
else
dr[et.Key.ToString()] = DBNull.Value;
}
dt.Rows.Add(dr);
try
{
sqlAd.Update(ds, "dtTemp");
}
catch (Exception e)
{
if (e != null) errorStr = e.ToString();
}
sqlAd.Dispose();
return errorStr;
}程序调用: Hashtable ht = new Hashtable();
ht.Add("addtime", DateTime.Now);
add("table",ht);输出DateTime.Now是正常,存进去的时候时间就会超前,最近一次加上12个小时,以前好象还有比系统时间超前几个小时的情况,有朋友知道这个是怎么回事吗?
保存的方法如下:
public string add(string tableName,Hashtable ht)
{
string errorStr = null;
DataSet ds=new DataSet();
DataTable dt=new DataTable();
string sql = "Select Top 1 * From " + tableName + "";
SqlDataAdapter sqlAd = new SqlDataAdapter(sql, Conn);
SqlCommandBuilder thisBuilder = new SqlCommandBuilder(sqlAd);
sqlAd.Fill(ds,"dtTemp");
dt = ds.Tables["dtTemp"];
DataRow dr;
dr = dt.NewRow();
IDictionaryEnumerator et = ht.GetEnumerator();
while (et.MoveNext())
{
if (!IsNullOrEmpty(et.Value))
dr[et.Key.ToString()] = et.Value.ToString();
else
dr[et.Key.ToString()] = DBNull.Value;
}
dt.Rows.Add(dr);
try
{
sqlAd.Update(ds, "dtTemp");
}
catch (Exception e)
{
if (e != null) errorStr = e.ToString();
}
sqlAd.Dispose();
return errorStr;
}程序调用: Hashtable ht = new Hashtable();
ht.Add("addtime", DateTime.Now);
add("table",ht);输出DateTime.Now是正常,存进去的时候时间就会超前,最近一次加上12个小时,以前好象还有比系统时间超前几个小时的情况,有朋友知道这个是怎么回事吗?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货