C/S中,DataGridView用LinqToSQL作数据源时,如何获取用户对DataGridView做的增删改,并实现对数据库增删改

解决方案 »

  1.   


    //根据ID查询一条数据
    public void selectbyId(int id)
    {
    IEnumerable<News> query = from m in data.News //数据源
    where m.NewsId == id
    select m;
    foreach (News item in query)
    {
    Console.WriteLine(item.Content);
    }
    }
    //插入一条数据 返回主键自增列ID
    public int Insert(News news)
    {
    data.News.InsertOnSubmit(news);
    data.SubmitChanges();
    return news.NewsId;
    }
    //修改
    public void Upade()
    {
    News news= data.News.Single(m => m.NewsId == 1);
    news.Title = "你的标题被我修改了!";
    data.SubmitChanges();//提交到数据库
    }
    //删除
    public void delete()
    {
    News news = data.News.Single(m => m.NewsId == 1);
    data.News.DeleteOnSubmit(news);
    data.SubmitChanges();}
      

  2.   

    关键是“如何获取用户对DataGridView做的增删改”……
      

  3.   

    自己解决了,
    直接将IQueryable<T>绑定到BindingSource
    再把BindingSource绑定到DataGridView
    这样就可以直接用DataContext.SubmitChanges()来向数据库提交更改