2017-06-21 4 views
0

Entschuldigung für mein schlechtes Englisch.Etikett aus der Datenbank überprüfen und anzeigen

Hier ist meine Frage. Ich kann verschiedene Benutzernamen in tb_acc eingeben und vorhandenen Benutzern vollständigen Namen in Label1 anzeigen, aber für Benutzer, die nicht existieren, zeigt es nicht die Zeichenkette an User not found. Ist DBNull.Value nicht anwendbar hier? Ich habe AutoPostBack auf das Textfeld auf true festgelegt.

if (IsPostBack) 
{ 
      try 
      { 

       using (OleDbCommand com = new OleDbCommand("select childName from family where childID='" + tb_acc.Text + "'", con)) 
       { 
        con.Open(); 
        OleDbDataReader myReader2 = null; 
        myReader2 = com.ExecuteReader(); 

        while (myReader2.Read()) 
        { 

         if (myReader2["childName"] != DBNull.Value) 
         { 
          Label1.Text = (myReader2["childName"].ToString()); //user full Name 
         } 
         else 
         { 
          Label1.Text = "User not found."; 
         } 
        } 
       } 

      } 
      catch (Exception ex) 
      { 
       Response.Write("Error: " + ex.ToString()); 
      } 
      finally 
      { 
       con.Close(); 
      } 


     } 

Antwort

1

Sie erwarten, dass dieser Benutzer existiert. Ändern während zu Wenn:

if (myReader2.Read()) 
{ 
    if (myReader2["childName"] != DBNull.Value) 
    { 
     Label1.Text = (myReader2["childName"].ToString()); //user full Name 
    } 
    else 
    { 
     Label1.Text = "User with no name"; 
    } 
} 
else 
{ 
    Label1.Text = "User not found."; 
} 
+0

danke sir! wirklich dummer Fehler, tut mir leid, ich bin neu in C#! –

Verwandte Themen