Aquesta acostuma a ser una operació senzilla dins d'una aplicació, sigui web o no. Només cal invocar al ASHX amb l'acció corresponent, la clau primària i llestos. De fet és una crida Ajax força curta, i la poso en un botó al formulari web. També es pot invocar des d'un grid fent un botó adhoc. Un cop rebuda la petició no cal fer res més que crida al DEL de la classe derivada de la clsDades. Alguna vegada m'he trobat que cal fer verificacions de que el registre no tingui altres vinculats en altres taules per donar el missatge pertinent, però res més complicat que això. En l'exemple que hi ha a continuació s'esborra el fitxer que hi ha associat i després el registre de la BBDD.
private void Delete()
{
try
{
Resp.ContentType = "plain/text";
string IdImatge = Req["IdImatge"];
clsImatges Imatges = new clsImatges(ConnStr);
Dictionary<string, string> Params = new Dictionary<string, string>();
DataTable tblImatges;
Params.Add("IdImatge", IdImatge);
tblImatges = Imatges.GET(Params);
if (File.Exists(tblImatges.Rows[0]["Imatge"].ToString()))
{
File.Delete(tblImatges.Rows[0]["Imatge"].ToString());
Imatges.DEL(Params);
Resp.Write("OK");
}
else
{
Resp.Write("ERROR: Fitxer no trobat");
}
}
catch (Exception Err)
{
Resp.Write("ERROR: " + Err.Message);
}
}
|