Sök  
 
Skribent Inlägget Löst
Google
 
     

  Forum » C# vb.net c++ » Error handling  
 
Skriven av: Slint | den 25 september 2012 Kl 23:43
Error handling
Jag har ett tok enkelt formulär som man skriver in lite info om vem man är m.m.
När formuläret är ifyllt klickar man på en knapp och den infon man bankade in i formuläret infogas i en mssql databas.
Allt funkar, men...
Om databasen inte är tillgänglig eller om nått med införandet i databasen skiter sig så får man aldrig ett felmeddelande om det utan allt ser kanon ut. Jag har testat att sätta databasen offline och sen posta formuläret och.. sidan blinkar till och sen är man tillbaka till ett tomt formulär igen. Skillnaden mot när det funkar är att det visas ett meddelade som ligger i .aspx filen om att ärendet är mottaget.
Hur skall jag göra för att användaren skall få ett fel istället för att han skall tro att allt är ok?

Min codebehind ser ut så här; (Försökte använda /code sidan för att lägga in längre kod men fick ett fel; The resource cannot be found.)
Kod:

  try
  {
  cn.Open();
  cmd.ExecuteNonQuery();
  this.CurrentPanel.Visible = false;
  this.ThankYouPanel.Visible = true;
  }
  catch (SqlException sqlExc)
  {
  int number = sqlExc.Number;
  base.Response.Write(sqlExc.Message);
  }
  catch (Exception Ex)
  {
  base.Response.Write(Ex.Message);
  }


Kod:

  finally
  {
  cmd.Dispose();
  this.txtcustomer.Value = "";
  this.txtcontact.Value = "";
  this.txttel.Value = "";
  this.txttel.Value = "";
  this.txtemail.Value = "";
  this.txtmessage.Value = "";
  base.Response.AddHeader("REFRESH", "3;URL=default.aspx");
  }
  }
  }



Har det något med mina "panels" att göra?
hur skall jag isåfall kunna visa ett ok meddelande när insert är ok samt när det inte är ok?

[redigerat namn=slint datum=2012-52-25 23:52]
[redigerat namn=slint datum=2012-54-25 23:54]

Antal svar 2




Skriven av: Slint | den 26 september 2012 Kl 08:36
Fick till det tillslut så här... sen hur rätt det är...
Kod:


  bool success = false;

  try
  {
  cn.Open();
  cmd.ExecuteNonQuery();
  success = true;
  }
  catch (SqlException sqlExc)
  {
  int number = sqlExc.Number;
  base.Response.Write(sqlExc.Message);
  this.CurrentPanel.Visible = false;
  this.ThankYouPanel.Visible = false;
  this.ErrorInsertPanel.Visible = true;
  }
  catch (Exception Ex)
  {
  base.Response.Write(Ex.Message);
  this.CurrentPanel.Visible = false;
  this.ThankYouPanel.Visible = false;
  this.ErrorInsertPanel.Visible = true;
  }
  finally
  {
  if(success) {
  this.CurrentPanel.Visible = false;
  this.ThankYouPanel.Visible = true;
  this.ErrorInsertPanel.Visible = false;

  cmd.Dispose();
  this.txtcustomer.Value = "";
  this.txtcontact.Value = "";
  this.txttel.Value = "";
  this.txttel.Value = "";
  this.txtemail.Value = "";
  this.txtmessage.Value = "";
  base.Response.AddHeader("REFRESH", "5;URL=default.aspx");
  }
  else
  {
  base.Response.AddHeader("REFRESH", "20;URL=default.aspx");
  }
  }



Fortfarande "The resource cannot be found." för code sidan.. Håller Aspsidan på att dö ut?
Skriven av: vimpyboy | den 26 september 2012 Kl 09:35
Det har blivit lite ändringar på URL:erna.

http://old.aspsidan.se/code/

Där har du koden, släng gärna upp den där.
 
     

  Svara på inlägg  
 
Du måste vara medlem på ASPsidan för att kunna skriva i forumet.
För att bli medlem klicka här.
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,3896 sekunder att ladda sidan