原题就是查询可以查询的到但是在显示的时候第一条记录不显示是那里的问题
 protected void Button1_Click(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            string connec = "user id=sa;password=123;initial catalog=SQLStarnew;Server=KEYJOB;Connect TimeOut=120;";
            SqlConnection conn = new SqlConnection(connec);
            conn.Open();
            string Sqlstr = "select * from StarName Where ausername like '%" + TextBox1.Text.ToString().Replace("'","") + "%'";
            SqlCommand ddrs = new SqlCommand(Sqlstr, conn);
            SqlDataReader rs = ddrs.ExecuteReader();
            if (rs.Read())
            {
                this.Repeater1.DataSource = rs;
                this.Repeater1.DataBind();
                ddrs.Dispose();
                conn.Close();
            }
            else
            {
                Response.Write("<script>alert('您查找的数据不存在!');history.go(-1);</script>");
            }
        } <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>&nbsp;
                                    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
                                    <asp:Label ID="BDLable" runat="server" Width="225px"></asp:Label>&nbsp; &nbsp;&nbsp;
                                    <table border="1">
                                    <asp:Repeater ID="Repeater1" runat="server">
                                    <HeaderTemplate>
                                     <tr>
                                      <td>会员编号</td>
                                      <td>会员姓名</td>
                                      <td>会员帐号</td>
                                      <td>帐号密码</td>
                                     </tr>
                                    </HeaderTemplate>
                                    <ItemTemplate>
                                      <tr>
                                        <td><%# DataBinder.Eval(Container.DataItem,"id") %>%></td>
                                        <td><%# DataBinder.Eval(Container.DataItem,"starname") %>></td>
                                        <td><%# DataBinder.Eval(Container.DataItem,"ausername") %>></td>
                                        <td><%# DataBinder.Eval(Container.DataItem,"bpassword") %></td>
                                      </tr>
                                    </ItemTemplate>
                                    </asp:Repeater>

解决方案 »

  1.   

    SqlDataReader rs = ddrs.ExecuteReader();
    this.Repeater1.DataSource = rs;
    this.Repeater1.DataBind();
    ddrs.Dispose();
    conn.Close();
      

  2.   

    绑定Repeater 不用 if (rs.Read())
      

  3.   

    不用 if (rs.Read())
    用if (sdr.HasRows)
      

  4.   

    没数据返回null ,不用read()
      

  5.   

    你用了rs.Read()的第一条已经读取了,DataList再读就是下一样了,当然就不显然了啊你可以用rs.HasRows来取代你的rs.Read()
      

  6.   

    ok
      结
         谢谢各位新手现在从ASP转.net不好理解