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

我在直接添加后,后重新绑定GridView,不知道为何,总是在下一次才显示出来.比如添记录1后不马上显示,在我添加2后才显示出记录1publicvoidDataBindT... 我在直接添加后,后重新绑定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";
bf.CommandName = "UpdateCommand";

}
private void AddNews()
{
string simg;
bool valid;
if (this.fulNewsImage.PostedFile.FileName.Length == 0)
{
simg = "kong.jpg";
valid = true;
}
else
{
string iFullName = this.fulNewsImage.PostedFile.FileName;
simg = iFullName.Substring(iFullName.LastIndexOf("\\") + 1);
string imgtype = simg.Substring(simg.LastIndexOf(".")+1);
if (imgtype == "jpg" || imgtype == "bmp" || imgtype == "gif" || imgtype == "png")
{
fulNewsImage.SaveAs(Server.MapPath("images/" + simg));
fulNewsImage.BackColor = Color.Green;
valid = true;
}
else
{
Response.Write("<script>alert('非法图片格式')</script>");
fulNewsImage.BackColor = Color.Red;
valid = false;
}
}
if (valid==true)
{
OleDbConnection con = DB.CreateCon();
con.Open();
string sql = "insert into News(n_title,n_content,n_img,n_addtime) values ( @title,@content,@img,'" + DateTime.Now + "')";
OleDbCommand cmd = new OleDbCommand(sql, con);
cmd.Parameters.Add("@title", OleDbType.VarChar).Value = this.tbNewsTitle.Text;
cmd.Parameters.Add("@content", OleDbType.VarChar).Value = this.tbNewsContent.Text;
cmd.Parameters.Add("@img", OleDbType.VarChar).Value = simg.ToString();
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
Response.Write("<script>alert('添加新闻成功!')</script>");
}
}
else
{
return;
}
}
protected void btnLook_Click(object sender, EventArgs e)
{
DataBindToGridView();
}
protected void btnAddItem_Click(object sender, EventArgs e)
{
AddNews();
DataBindToGridView();
}

怎么清空
展开
 我来答
heting1987
2009-02-03 · 超过20用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:61.5万
展开全部
你的代码逻辑应该没问题,根据不同类别的新闻来添加新闻,添加完之后就立刻显示出来添加过的所有新闻列表也就是说把刚刚添加过的新闻也显示出来,那么你应该在点击添加新闻按钮的事件中调用addnews()方法并且调用DataBindToGridView(); 其实DataBindToGridView()这个方法里应该就是你当前新闻类别下的所有新闻
ld3135134162
2009-01-22 · TA获得超过1062个赞
知道小有建树答主
回答量:547
采纳率:0%
帮助的人:667万
展开全部
int i = Convert.ToInt32(DropDownList1.SelectedValue);
string cmdtext = "select * from MainInfo where mid = " + i;
你是要获取下拉框的什么值吗?建议你重新写一下select数据库的语句试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ffhelly
2009-01-31 · 超过18用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:0
展开全部
清空一下 然后重新执行SELECT
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
babylove07
2009-02-03
知道答主
回答量:38
采纳率:0%
帮助的人:17.8万
展开全部
在page_load()
{
if (!IsPostBack)
{
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式