gridview绑定一个linq to sql类删除可以用如下代码
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string st = GridView1.DataKeys[e.RowIndex].Value.ToString();
var title = from s in dc.title1 where s.title_id.Equals(st) select s;
try
{
foreach (var t in title)
{
dc.title1.DeleteOnSubmit(t); dc.SubmitChanges();
}
}
新增也有
dc.title1.InsertOnSubmit(t);
请问修改有什么方法?
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
string st = GridView1.DataKeys[e.RowIndex].Value.ToString();
var title = from s in dc.title1 where s.title_id.Equals(st) select s;
try
{
foreach (var t in title)
{
dc.title1.DeleteOnSubmit(t); dc.SubmitChanges();
}
}
新增也有
dc.title1.InsertOnSubmit(t);
请问修改有什么方法?
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
sqlcon = new SqlConnection(strCon);
string sqlstr = "update 表 set 字段1='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "',字段2='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "',字段3='"
+ ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "' where id='"
+ GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
sqlcom=new SqlCommand(sqlstr,sqlcon);
sqlcon.Open();
sqlcom.ExecuteNonQuery();
sqlcon.Close();
GridView1.EditIndex = -1;
bind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{ string st = GridView1.DataKeys[e.RowIndex].Value.ToString();
var title = from s in dc.title1 where s.title_id.Equals(st) select s;
try
{
foreach (var t in title)
{
dc.title1.DeleteOnSubmit(t);
dc.SubmitChanges();
}
DataBind();
}
catch (Exception ex)
{
string errstr = Server.HtmlEncode(ex.Message);
Response.Write(errstr);
}
finally
{ } }
public override void DataBind()
{
GridView1.DataSource = (from s in dc.title1 select s).ToArray();
GridView1.DataBind();
}
请问我的Row_Updating事件该如何写?
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
//这里该如何写代码?
dc.SubmitChanges();
GridView1.EditIndex = -1;
DataBind();
}
希望能对你有帮助
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)//更新
{
var zhi = Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value.ToString());
Tb_love ff=love.Tb_love.Single(b=>b.ID==(zhi));
ff.name = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].FindControl("tex_name"))).Text.ToString().Trim();
ff.age = Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].FindControl("tex_age"))).Text.ToString().Trim());
ff.love = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[0].FindControl("tex_love"))).Text.ToString().Trim();
love.SubmitChanges();
GridView1.EditIndex = -1;
bind();
}
我的思路是这样的 像DeleteOnSubmit()这个方法 是将选中的这行的实体设置位pending delete(预删除)状态,InsertOnSubmit()是将要添加的实体 设置为pending insert(预添加)状态 我们调用了该方法后,只要再调用.SubmitChanges()方法提交对数据库的更改就行了
就是说,像添加,删除等这些方法MS都帮我们封装好了,只要我们调用个方法就行. UPDATE有没有帮我们封装好 也只要我们调用就行的?
我看了一些资料都是用上面那种办法的