如何添加一条记录后,直接在GridView中显示出来.

来源:百度知道 编辑:UC知道 时间:2024/05/03 03:11:51
我在直接添加后,后重新绑定GridView,不知道为何,总是在下一次才显示出来.
比如添记录1后不马上显示,在我添加2后才显示出记录1

public void DataBindToGridView()
{
OleDbConnection ocon = DB.CreateCon();
ocon.Open();
int i = Convert.ToInt32(DropDownList1.SelectedValue);
string cmdtext = "select * from MainInfo where mid = " + i;
OleDbCommand ocmd = new OleDbCommand(cmdtext, ocon);
ocmd.ExecuteNonQuery();
OleDbDataReader odr = ocmd.ExecuteReader();
if (odr.Read())
{
string sql = odr["mcontent"].ToString();
odr.Close();
OleDbCommand cmd = new OleDbCommand(sql, ocon);
GridView1.DataSource = cmd.ExecuteReader();
GridView1.DataBind();
ocon.Close();
}
ButtonField bf = new ButtonField();
bf.Text = "修改";
bf.HeaderText = "Operate&

你的代码逻辑应该没问题,根据不同类别的新闻来添加新闻,添加完之后就立刻显示出来添加过的所有新闻列表也就是说把刚刚添加过的新闻也显示出来,那么你应该在点击添加新闻按钮的事件中调用addnews()方法并且调用DataBindToGridView(); 其实DataBindToGridView()这个方法里应该就是你当前新闻类别下的所有新闻

int i = Convert.ToInt32(DropDownList1.SelectedValue);
string cmdtext = "select * from MainInfo where mid = " + i;
你是要获取下拉框的什么值吗?建议你重新写一下select数据库的语句试试

清空一下 然后重新执行SELECT

在page_load()
{
if (!IsPostBack)
{
}
}