Avatar billede misbruger Nybegynder
30. maj 2003 - 10:55 Der er 7 kommentarer og
1 løsning

Tjeck mit Command object

Når min administrator skal oprette en bruger, tjekker jeg og det UserID han vælger ikke findes i forvejen...

----------------------------------------------------------
public int ValidateUserID(int UID)
{
  int Result = 0;

  string SQL = "SELECT Indeks FROM Users WHERE UID = '"+ UID +"';";

  SqlConnection Conn = new SqlConnection(ConnStr);
  SqlCommand Cmd = new SqlCommand(SQL, Conn);
  Cmd.CommandType = CommandType.Text;

  try
  {
    Conn.Open();
    Result = Int32.Parse(Cmd.ExecuteScalar().ToString());
  }
  catch(Exception E)
  {
    ;
  }
  finally
  {
    Conn.Close();
  }
  return Result;
}
----------------------------------------------------------

Mit problem er umiddelbart at jeg har sat en fejlfangst op i min web.config, som fanger alle exception, sender mig en email, og sender brugeren til en venlig fejlside.

Men hvis UID ikke findes (hvilket det jo helst ikke skal i dette tilfælde), bliver der jo generet en exception, som min web.config fanger, i stedet for at der bliver returneret '0'

Så mit spørgsmål er....
Hvordan kan jeg tjekke om min query ikke returnere noget, uden at den smider en exception...?

Tak!
Avatar billede burningice Nybegynder
30. maj 2003 - 11:15 #1
object o = Cmd.ExecuteScalar();

if (o == null // eller DbNull) {
    return 0;
} else {
    return int.Parse(o.ToString());
}
Avatar billede misbruger Nybegynder
30. maj 2003 - 11:17 #2
self.
Avatar billede odegaard Nybegynder
30. maj 2003 - 11:17 #3
Din Web.Config registrerer da ikke de exceptions som du selv fanger med catch/try.
Så hvis det er tilfældet sker din fejl andetsteds.
Avatar billede misbruger Nybegynder
05. juni 2003 - 09:42 #4
btw. svar venligst cyberfessor
Avatar billede burningice Nybegynder
05. juni 2003 - 10:44 #5
fandt du ud af det med de exceptions ?
Avatar billede misbruger Nybegynder
05. juni 2003 - 11:23 #6
tja... faktisk har odegaard ret :)
Avatar billede odegaard Nybegynder
05. juni 2003 - 12:18 #7
Ja selvfølgelig :-)
Avatar billede misbruger Nybegynder
05. juni 2003 - 21:48 #8
hehe !
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester