首页 新闻 搜索 专区 学院

Linq方面在GridView中使用CheckBox选择后删除多条数据的问题!

0
悬赏园豆:40 [已解决问题] 解决于 2010-09-13 15:23

 

代码
ExtendCodeTwice code = new ExtendCodeTwice();

private void bind()
{
this.gvCity.DataSource = from cityInfo in code.CityInfos select cityInfo;
this.gvCity.DataBind();
}

protected void btnDeleteMore_Click(object sender, EventArgs e)
{
string s = string.Empty;
for (int i = 0; i < this.gvCity.Rows.Count; i++)
{
CheckBox cbo
= (this.gvCity.Rows[i].FindControl("cboCheckOne")) as CheckBox;
if (cbo.Checked == true)
{
s
+= (this.gvCity.Rows[i].FindControl("lblCityId") as Label).Text + ",";
}
}

//在此处将获取到的要删除的ID拼成的字符串放入Linq中操作
//调用相应的code里面的删除方法进行操作

//删除完成后再对GridView重新绑定
bind();
}

 

 

CityInfo表

CityId int;
CityName varchar(25);
CityArea float;
CityPopulation int;
CityDescription varchar(25);

ExtendCodeTwice是我用VS2008命令提示符工具里的sqlmet生成的 此类直接继承了DataContext;

 

没有采用三层

我将数据绑定在GridView里面 DataKeyName为CityId 然后选择多行数据后,删除按钮的Click事件获取CityId以后 删除这些数据

 

求高手写一下关于删除多行数据的Linq语句

蛋蛋别的主页 蛋蛋别 | 初学一级 | 园豆:85
提问于:2010-09-13 14:10
< >
分享
最佳答案
0

1)创建LinqDBDataContext类的实例db

2)使用LINQ查询ID列的值大于4的记录,查询结果保存在result变量中。

3)调用DeleteAllOnSubmit()方法删除result变量中的所有记录。

4)调用SubmitChanges()方法将上述修改提交到数据库,并实现修改数据的功能。

btnDelete_Click(object sender,EventArgs e)事件和DeleteDataWithLINQ()函数的程序代码如下:

private void DeleteDataWithLINQ()

{
///创建LinqDB数据库的数据上下文的实例

LinqDBDataContext db
= new LinqDBDataContext(LinqSystem.LinqDBConnectionString);

///查询被删除的数据

var result
= from r in db.Role where r.ID > 4

select r;

///删除数据,并提交到数据库中

db.Role.DeleteAllOnSubmit(result);

db.SubmitChanges();

}

protected void btnDelete_Click(object sender,EventArgs e)

{

DeleteDataWithLINQ();ShowData();

}

 希望这些可以帮到你!!

收获园豆:40
寒狐 | 菜鸟二级 |园豆:433 | 2010-09-13 15:14
问题已经解决 十分感谢
蛋蛋别 | 园豆:85 (初学一级) | 2010-09-13 15:23
其他回答(1)
0

没解决,看不懂

Bj_junxia | 园豆:205 (菜鸟二级) | 2010-12-24 15:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册