用sqldatareader,假如没有找到符合条件的记录,要求输出一句话:没有这个人。
这个怎么实现啊?或者就不用datareader,用其它的类,怎么实现呢?

解决方案 »

  1.   

    if (xxx.read())
    {......
    }
    else
    {什么都没找到
    }
      

  2.   

    用这个吧,弹出个窗口:
    Response.Write("<script language=javascript>alert('没有这个人!');</script>");
      

  3.   

    if (.read()) 
    {
     程序块!

    else 
    {
     Response.Write(" <script>alert('没有这个人!'); </script>");
    }
      

  4.   

    感谢大家!
    感觉用xxxx.read()作判断不好啊!   虽然没有符合条件的记录,这句显示出来了。
    但是更大的问题出现了:符合条件的记录显示不出来了。
     if (dr.Read())
            {
                this.GridView2.DataSource = dr;
                this.GridView2.DataBind();
            }
            else
            {
                Response.Write("没有这个人");
            }
    不能用dr.Read())  这个作为条件吧??
      

  5.   

    你试下 返回一个Dataset 
    然后判断ds.Table[0].Rows.count是不是为0
    为0就是没有这个人
      

  6.   

    if (xxx.read())
    {
    ...先读出第一条记录
    然后用while循环,对更多的记录进行读取
    while(xxx.read())
    {逐条读出}
    }
    else
    {
    没有记录
    }
      

  7.   

      string a=Txt1.Text.Trim();
            string b=Txt2.Text.Trim();
            string strsql;
        if (a==string.Empty)
        {
             strsql = "select xx,xm,xb,fs  from cj1 where xm=N'" + b + "'";        
        }             
        else
        {
             strsql = "select xx,xm,xb,fs  from cj1 where zkzh='"+a+"'";
        }       SqlCommand cmd = new SqlCommand(strsql, conn);
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.Read())
            {
                this.GridView2.DataSource = dr;
                this.GridView2.DataBind();
            }
            else
            {
                Response.Write("没有这个人");
            }就我的这个程序,怎么实现先输出第一条记录,然后再循环输出其它记录啊?
    请提供具体代码。上面就差不多是我的全部程序了。
    是一个成绩查询的小程序。两个文本框,一个是准考证号,一个是姓名;还有一个查询按钮。
      

  8.   

    感谢moduofanchen。    我用dataset调试成功了。
    if(ds.Tables[0].Rows.Count==0)
        {Response.Write("没有这个人");
        } 
    else
        {
            this.GridView2.DataSource = ds;
            this.GridView2.DataBind();
         }那个dataread的判断好像就是不行。
    不过一个mm帮了我,她不是先判断。是如果有记录的先显示;接下来判断控件gridview的总行数,如果为0,那么就"这个人不存在"。绕过了对dr.read的判断。
    这个mm是不是很聪明呢!!
      

  9.   

    gridview的判断和datatable判断一个道理,还是取到datatable时就判断比较好
      

  10.   

    datatable?????????我怎么没有看到过这个控件?  我刚学asp.net。