如下,想把下面的代码转成存储过程,恳请指点,谢谢。
string sql = "";
DataTable dt = Conn.BindTable("SELECT distinct cellname FROM " + strTable1 + " WHERE normdatetime >= dateadd(hh,-10,getdate()) and normdatetime <= GetDate()");
if (dt.Rows.Count != 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
string strcellname = dt.Rows[i]["cellname"].ToString().Replace("'", "''").Trim();
DataTable dt2 = Conn.BindTable("SELECT * FROM " + strTable2 + " WHERE cellname='" + strcellname + "' ");
if (dt2.Rows.Count == 0)
{
Conn.ExecuteSql("insert into " + strTable2 + "(CellName,CellNameCN,SiteNo,SiteName,sitetype,LAC,CI,BSC,Status,siteclass) select EngName,ChineseName,workFreq,SiteName,sitetype,LAC,CI,BSC,Areaname,siteclass from " + strTable3 + " WHERE EngName='" + strcellname + "' and state=1");
}
DataTable dt3 = Conn.BindTable("SELECT * FROM NormInfoTb WHERE IsAuto=1 and NormType =" + n + " and AnalyNorm= 1 and state=1");
if (dt3.Rows.Count != 0)
{
for (int j = 0; j < dt3.Rows.Count; j++)
{
strContent = dt3.Rows[j]["NormContent"].ToString().Replace("'", "''").Trim();
string strTargetDefault = dt3.Rows[j]["TargetDefault"].ToString().Replace("'", "''").Trim();
DataTable dtZd = Conn.BindTable("select 1 from sysobjects a inner join syscolumns b on a.id=b.id where a.id= object_id('" + strTable1 + "') and b.name='" + strContent + "'");
if (dtZd.Rows.Count != 0)
{
strsqlavg = "SELECT avg(" + strContent + ") AS AvgNum FROM " + strTable1 + " WHERE normdatetime >= dateadd(hh,-10,getdate()) and normdatetime <= GetDate() and cellname='" + strcellname + "' ";
DataTable dt4 = Conn.BindTable(strsqlavg);
string strnum = dt4.Rows[0][0].ToString().Replace("'", "''").Trim();
if (strnum != "")
{
strnum = float.Parse(strnum).ToString("f2");
if (strTargetDefault == "True")
{
sql = "update " + strTable2 + " set " + strContent + "_Max=" + strnum + " WHERE cellname='" + strcellname + "'";
Conn.ExecuteSql(sql);
}
else
{
sql = "update " + strTable2 + " set " + strContent + "_Min=" + strnum + " WHERE cellname='" + strcellname + "'";
Conn.ExecuteSql(sql);
}
}
}
}
}
}
}
string sql = "";
DataTable dt = Conn.BindTable("SELECT distinct cellname FROM " + strTable1 + " WHERE normdatetime >= dateadd(hh,-10,getdate()) and normdatetime <= GetDate()");
if (dt.Rows.Count != 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
string strcellname = dt.Rows[i]["cellname"].ToString().Replace("'", "''").Trim();
DataTable dt2 = Conn.BindTable("SELECT * FROM " + strTable2 + " WHERE cellname='" + strcellname + "' ");
if (dt2.Rows.Count == 0)
{
Conn.ExecuteSql("insert into " + strTable2 + "(CellName,CellNameCN,SiteNo,SiteName,sitetype,LAC,CI,BSC,Status,siteclass) select EngName,ChineseName,workFreq,SiteName,sitetype,LAC,CI,BSC,Areaname,siteclass from " + strTable3 + " WHERE EngName='" + strcellname + "' and state=1");
}
DataTable dt3 = Conn.BindTable("SELECT * FROM NormInfoTb WHERE IsAuto=1 and NormType =" + n + " and AnalyNorm= 1 and state=1");
if (dt3.Rows.Count != 0)
{
for (int j = 0; j < dt3.Rows.Count; j++)
{
strContent = dt3.Rows[j]["NormContent"].ToString().Replace("'", "''").Trim();
string strTargetDefault = dt3.Rows[j]["TargetDefault"].ToString().Replace("'", "''").Trim();
DataTable dtZd = Conn.BindTable("select 1 from sysobjects a inner join syscolumns b on a.id=b.id where a.id= object_id('" + strTable1 + "') and b.name='" + strContent + "'");
if (dtZd.Rows.Count != 0)
{
strsqlavg = "SELECT avg(" + strContent + ") AS AvgNum FROM " + strTable1 + " WHERE normdatetime >= dateadd(hh,-10,getdate()) and normdatetime <= GetDate() and cellname='" + strcellname + "' ";
DataTable dt4 = Conn.BindTable(strsqlavg);
string strnum = dt4.Rows[0][0].ToString().Replace("'", "''").Trim();
if (strnum != "")
{
strnum = float.Parse(strnum).ToString("f2");
if (strTargetDefault == "True")
{
sql = "update " + strTable2 + " set " + strContent + "_Max=" + strnum + " WHERE cellname='" + strcellname + "'";
Conn.ExecuteSql(sql);
}
else
{
sql = "update " + strTable2 + " set " + strContent + "_Min=" + strnum + " WHERE cellname='" + strcellname + "'";
Conn.ExecuteSql(sql);
}
}
}
}
}
}
}
况且这里是sql版,你把C#代码贴出来,不能保证每个人都能看得懂!!!
呵呵,不好意思,就是有4个变量,分别是string strTable1, string strTable2, string strTable3, int n然后先从strTable1表中找出不重复的cellname。
如果存在这样的记录
下一步 把cellname找出来给strcellname赋值
然后从strTable2表中找出符合cellname='" + strcellname + "'条件的记录
如果没有记录
那么把从strTable3查出的结果全部插入到strTable2中
然后再从NormInfoTb中找出符合条件的记录
如果有记录
for循环