string tableNameStr=Request.Params["delTbName"]==null?"":Request.Params["delTbName"];
string id=Request.Params["id"]==null?"":Request.Params["id"];
string IsRecord=Request.Params["RecGuid"]==null?"":Request.Params["RecGuid"];
string sqlDel="";
string[] recGuidAry = getSubRecStr( tableNameStr,IsRecord).Split(',');
if( id!="")
sqlDel="delete from "+tableNameStr+" where id='"+id+"'" ;
string sqlDelSub="";
if( IsRecord !="" )
sqlDelSub ="delete from "+tableNameStr+" where ParentRecGuid ='"+ IsRecord +"'" ;
if( dbP.runSqlCmdText(sqlDelSub)[1] != null )
{
showAlertPageEdit("删除子记录失败。",true,true);
Response.End();
}
if( dbP.runSqlCmdText(sqlDel)[1] != null )
{
showAlertPageEdit("删除记录失败。",true,true);
Response.End();
}
string s=System.Configuration.ConfigurationSettings.AppSettings.Get("attachment");
try
{
if( recGuidAry.Length >1 )
{
for(int i=0;i<recGuidAry.Length;i++ )
{
if( Directory.Exists( Path.Combine(s,"attachment//"+ReGuidStr+"//"+recGuidAry[i]) ) && recGuidAry[i]!="" )
{
Directory.Delete( Path.Combine(s,"attachment//"+ReGuidStr+"//"+recGuidAry[i]),true);
}
}
}
}
catch
{
//showAlertPageEdit("附件删除失败。",true,true);
//Response.End();
}
try
{
if( Directory.Exists( Path.Combine(s,"attachment//"+ReGuidStr+"//"+IsRecord) ) && IsRecord != "" )
{
Directory.Delete( Path.Combine(s,"attachment//"+ReGuidStr+"//"+IsRecord),true);
}
}
catch
{
showAlertPageEdit("附件删除失败。",true,true);
Response.End();
}
showAlertPageEdit("删除成功。",true,true);
上面是我的一个函数中的代码,因为没有加红色的代码,而导致在我的 recGuidAry[i] and IsRecord 的时候我的整个文件夹都被删除了!