c# dataAdapter 修改数据源

我想从数据源取东西放在datagridview上,通过datagridview的增删改再改变数据源。代码写出来,实现不了,请大家帮忙看下。最好是通过两个按钮来实现,一个查询,一个确定修改.
代码如下:

    string rateSql = string.Format(@"select r_time_int,r_time_unit,r_rate from rate where r_p_id = {0}", productId);
    OleDbCommand rateSqlCmd = new OleDbCommand(rateSql, DBHelper.conn);
    OleDbDataAdapter rateSqlAdp = new OleDbDataAdapter(rateSqlCmd);
    ds = new DataSet();
    rateSqlAdp.Fill(ds);
    DataTable dt = ds.Tables[0];
    OleDbCommandBuilder cmdb = new OleDbCommandBuilder(rateSqlAdp);
    rateSqlAdp.Update(ds);
    dataGridView1.DataSource = dt;

忘了贴代码了。。。
string rateSql = string.Format(@"select r_time_int,r_time_unit,r_rate from rate where r_p_id = {0}", productId);
OleDbCommand rateSqlCmd = new OleDbCommand(rateSql, DBHelper.conn);
OleDbDataAdapter rateSqlAdp = new OleDbDataAdapter(rateSqlCmd);
ds = new DataSet();
rateSqlAdp.Fill(ds);
DataTable dt = ds.Tables[0];
OleDbCommandBuilder cmdb = new OleDbCommandBuilder(rateSqlAdp);
rateSqlAdp.Update(ds);
dataGridView1.DataSource = dt;

protected void btnSelect_Click(object sender, EventArgs e)
{
string sql = "select .............";
OleDbCommand rateSqlCmd = new OleDbCommand(sql, DBHelper.conn);
OleDbDataAdapter rateSqlAdp = new OleDbDataAdapter(rateSqlCmd);
DataSet ds = new DataSet();
rateSqlAdp.Fill(ds);
DataTable dt = ds.Tables[0];
OleDbCommandBuilder cmdb = new OleDbCommandBuilder(rateSqlAdp);
rateSqlAdp.Update(ds);
GridView1.DataSource = dt;
GridView1.DataBind();
}

    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        int i;
        string sql = "update ............";
        OleDbCommand rateSqlCmd = new OleDbCommand(sql, DBHelper.conn);
        try
        {
             i = rateSqlCmd.ExecuteNonQuery();
        }
        catch (Exception)
        {
            throw;
        }
        if(i>0)
        {
            //成功
        }
    }
}

}

试下