asp.net 加载的时候添加了数据,点击添加按钮时没反映。
privatevoiddsAdd(){using(SqlConnectionconn=newSqlConnection(ConnStr)){SqlDataAdaptera...
private void dsAdd()
{
using (SqlConnection conn = new SqlConnection(ConnStr))
{
SqlDataAdapter ad = new SqlDataAdapter
("Select * from PersonInfo", conn);
SqlCommandBuilder builder = new SqlCommandBuilder(ad);
ad.InsertCommand = builder.GetInsertCommand();
DataTable dt = new DataTable();
ad.Fill(dt);
this.txtName.Focus();
DataRow row = dt.NewRow();
row[0] = id;
row[1] = this.txtName.Text.Trim();
row[2] = this.txtSex.Text.Trim();
row[3] = this.txtBirthday.Text.Trim();
row[4] = this.txtPhone.Text.Trim();
row[5] = this.txtAddress.Text.Trim();
row[6] = this.txtZIP.Text.Trim();
dt.Rows.Add(row);
ad.Update(dt);
this.GridView1.DataSource = dt;
this.DataBind();
}
}这是添加的代码,不知道有没有错 展开
{
using (SqlConnection conn = new SqlConnection(ConnStr))
{
SqlDataAdapter ad = new SqlDataAdapter
("Select * from PersonInfo", conn);
SqlCommandBuilder builder = new SqlCommandBuilder(ad);
ad.InsertCommand = builder.GetInsertCommand();
DataTable dt = new DataTable();
ad.Fill(dt);
this.txtName.Focus();
DataRow row = dt.NewRow();
row[0] = id;
row[1] = this.txtName.Text.Trim();
row[2] = this.txtSex.Text.Trim();
row[3] = this.txtBirthday.Text.Trim();
row[4] = this.txtPhone.Text.Trim();
row[5] = this.txtAddress.Text.Trim();
row[6] = this.txtZIP.Text.Trim();
dt.Rows.Add(row);
ad.Update(dt);
this.GridView1.DataSource = dt;
this.DataBind();
}
}这是添加的代码,不知道有没有错 展开
展开全部
因为Gridview已经加载玩了,之后又databind(),服务器端记录的是之前的数据,并没有记录添加的数据。
这个添加的代码最好放在pageLoad里面执行,否则无效。
好像是这样,你看看!
点击按钮时,先执行pageLoad对控件初始化,然后才会执行button_click中的代码,Gridview在pageLoad中已经绑定了的数据,button里面的代码不起作用
以上内容可能有点错误:
今天又做了下试验,感觉真正 应该解决的是你在pageLoad中绑定的数据室应该在
if(!isPostBack)中,然后button中的数据bangding才能起作用,应该是最佳方案。
具体为什么,感觉应该是bangding的顺寻问题,在isPostBack中,数据就会bangding了,虽然还是进入pageLoad中
这个添加的代码最好放在pageLoad里面执行,否则无效。
好像是这样,你看看!
点击按钮时,先执行pageLoad对控件初始化,然后才会执行button_click中的代码,Gridview在pageLoad中已经绑定了的数据,button里面的代码不起作用
以上内容可能有点错误:
今天又做了下试验,感觉真正 应该解决的是你在pageLoad中绑定的数据室应该在
if(!isPostBack)中,然后button中的数据bangding才能起作用,应该是最佳方案。
具体为什么,感觉应该是bangding的顺寻问题,在isPostBack中,数据就会bangding了,虽然还是进入pageLoad中
追问
点击添加时就提示:违反了PRIMARY KEY 约束 PK-PersonInfo 。不能在对象‘dbo.PersonInfo’中插入重复键语句已终止。
row[6] = this.txtZIP.Text.Trim();
dt.Rows.Add(row);
ad.Update(dt);
this.GridView1.DataSource = dt;
this.DataBind();
点击添加时就提示:违反了PRIMARY KEY 约束 PK-PersonInfo 。不能在对象‘dbo.PersonInfo’中插入重复键语句已终止。
row[6] = this.txtZIP.Text.Trim();
dt.Rows.Add(row);
ad.Update(dt);
this.GridView1.DataSource = dt;
this.DataBind();
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询