110,534
社区成员
发帖
与我相关
我的任务
分享
conn1.Open();
conn2.Open();
try
{
string customername = "",customercontent="";
string sql = "select distinct registrant from domain_delete_backup where LEN(registrant)>4 and LEN(registrant)<50 and domain like '[吖-座]%'";
SqlDataAdapter ad1 = new SqlDataAdapter(sql, conn1);
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn2;
DataSet ds = new DataSet();
DataSet ds2 = null;
DataSet ds3 = null;
DataTable dt = new DataTable();
dt.Columns.Add("customername", Type.GetType("System.String"));
ad1.Fill(ds);
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (i % 100 == 0)
{
conn1.Close();
conn2.Close();
}
if (conn1.State == ConnectionState.Closed)
conn1.Open();
if (conn2.State == ConnectionState.Closed)
conn2.Open();
customercontent = "";
customername = ds.Tables[0].Rows[i][0].ToString().Trim().Replace(" ", "").Replace("'", "’"); ;
sql = "select cid from customer where customername='" + customername + "'";
try
{
ad1 = new SqlDataAdapter(sql, conn2);
}
catch (Exception ee)
{
continue;
}
ds2 = new DataSet();
ad1.Fill(ds2);
if (ds2 != null && ds2.Tables.Count > 0 && ds2.Tables[0].Rows.Count > 0)
{
DataRow dr = dt.NewRow();
dr["customername"] = customername;
dt.Rows.Add(dr);
}
else
{
sql = "select domain,contact,email,registdate,expiredate from domain_delete_backup where registrant='" + customername + "'";
try
{
ad1 = new SqlDataAdapter(sql, conn1);
}
catch (Exception ex_)
{
continue;
}
ds3 = new DataSet();
ad1.Fill(ds3);
if (ds3 != null && ds3.Tables.Count > 0 && ds3.Tables[0].Rows.Count > 0)
{
for (int j = 0; j < ds3.Tables[0].Rows.Count; j++)
{
if (j > 100)
break;
customercontent += ds3.Tables[0].Rows[j]["domain"].ToString() + " " + ds3.Tables[0].Rows[j]["contact"].ToString() + " " + ds3.Tables[0].Rows[j]["email"].ToString() + " " + ds3.Tables[0].Rows[j]["registdate"].ToString() + " " + ds3.Tables[0].Rows[j]["expiredate"].ToString() + "\n\r";
}
sql = string.Format("insert into customer(cid,sourcecontent,customername,ctype,eid,isassign,indate,islarge) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','20')",
"cid" + DateTime.Now.ToString("yyyyMMddHHmmss") + i, customercontent.Replace("'", "’"), customername, "1", "yu", "0", DateTime.Now.ToString());
cmd.CommandText = sql;
try
{
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
continue;
}
}
}
}
}
SaveCSV(dt, "e:/asdzxccas.csv");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
if (conn1.State == ConnectionState.Open)
conn1.Close();
if (conn2.State == ConnectionState.Open)
conn2.Close();
}
catch (Exception ex_)
{
continue;
}
这类更加严重地滥用catch语句的问题。
可以想象到,平常不解决程序 bug,一味地以掩盖问题、凑合蒙过去领导为目标,这样的程序肯定经常运行超时。