2017-06-21 82 views
0

对不起,我的英语不好。检查并显示数据库中的标签

这是我的问题。我可以在tb_acc中键入不同的用户名,并在Label1中显示现有用户的全名,但对于不存在的用户,它不显示字符串User not found.DBNull.Value在此不适用吗?我有AutoPostBack的文本框设置为true

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(); 
      } 


     } 

回答

1

您期待该用户存在。同时改为:

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

谢谢先生!真是愚蠢的错误,对不起,我是新来的C#! –

相关问题