2

asp.net 2008 リピーター コントロールを使用しています。ボタンがクリックされたときにリピーターコントロールを更新しようとしていますが、重複した値が表示されます。つまり、同じ値がもう一度追加されます。これが私のコードです

 public void LoadRepeater1()
    {
        con = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlServerConnection"].ConnectionString);
        String sql;
        sql = "select * from FeeCollection Where AdminNo='"+lblstano.Text+"'";
        cmd = new SqlCommand(sql, con);
        da = new SqlDataAdapter(sql, con);
        da.Fill(ds, "FeeCollection");
        dt = ds.Tables["FeeCollection"];

        Repeater4.DataSource = dt;
        Repeater4.DataBind();
        con.Close();


    }

 protected void btnMedical_Click(object sender, EventArgs e)
    {
        LoadRepeater1();
    }

追加する代わりに、既存のデータを削除してデータを更新したい。

4

1 に答える 1

1

ds(DataSet) がインスタンス化された場所がわからない。DataSet/DataTableLoadRepeater1() メソッド内でをインスタンス化してみてください。

public void LoadRepeater1()
    {
        con = new SqlConnection(ConfigurationManager
         .ConnectionStrings["SqlServerConnection"].ConnectionString);

        sql = "select * from FeeCollection Where AdminNo=@AdminNo";
        cmd = new SqlCommand(sql, con);
        cmd.Parameters.Add("@AdminNo",System.Data.SqlDbType.VarChar,20).Value=lblstano.Text;
        da = new SqlDataAdapter(cmd);
        DataTable dt=new DataTable();
        da.Fill(dt);
        Repeater4.DataSource = dt;
        Repeater4.DataBind();
    }
于 2011-10-07T09:10:30.243 に答える