• 使用Linq to SQL实现基本的增、删、改、查及绑定控件(C#)


    首先介绍一下,我使用的是Visual Studio 2008开发工具、SQL Server数据源,使用c#语言编写的。

      第一步、创建了一个SQL Server数据源

        先创建数据库    

        

        又建了一个User表

        

        相信这些都是小儿科的东西了,我就不再多说了。

      第二步、添加一个LINQ to SQL类

        我创建了一个User.dbml的LINQ to SQL类

        

        然后从服务器资源管理器中把表拖拽到视图中,可以双击视图中表的标题来重命名。

        

        最后保存一下。

      第三步、创建并执行查询

    namespace test
    {
        public partial class _Default : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    Bind();
                }
            }

            private void Bind()
            {
                UserDataContext db = new UserDataContext(); //创建一个DataContext类对象是必不可少的
                var user = from u in db.MyUser //在上面为它重命名为MyUser了,原来的表名为User
                           select u; //这里的查询就和SQL差不多了
                GridView1.DataSource = user; //绑定数据源

                GridView1.DataBind();
            }

       //插入信息

            protected void btnAdd_Click(object sender, EventArgs e)
            {
                UserDataContext db = new UserDataContext();
                string userName = TextBox1.Text;
                string userPwd = TextBox2.Text;
                //db.MyUser.InsertOnSubmit(new MyUser { Name=userName,Pwd=userPwd});

         //上面这句和下面这句都可以实现,只不过是两种不同的方法
                var user = new MyUser { Name = userName, Pwd = userPwd };
                db.MyUser.InsertOnSubmit(user); //执行插入
                db.SubmitChanges(); //提交对数据库做的修改
                Bind();
            }

      后面的删除、更新就跟上面的插入大同小异了,只是查询和执行查询所用到的方法不同而已。最主要的部分还是怎么创建查询,后面给大家提供一些LINQ中查询基本操作的关键字,具体怎么使用还有待于以后的继续学习。

       //删除信息

            protected void btnDel_Click(object sender, EventArgs e)
            {
                UserDataContext db = new UserDataContext();
                int i = Convert.ToInt32(TextBox3.Text.Trim());
                var user = db.MyUser.First(p => p.Id.Equals(i));
                db.MyUser.DeleteOnSubmit(user);
                db.SubmitChanges();
                Bind();
            }

       //更新信息

            protected void btnUpd_Click(object sender, EventArgs e)
            {
                UserDataContext db = new UserDataContext();
                int i = Convert.ToInt32(TextBox3.Text.Trim());
                var user = db.MyUser.First(p => p.Id.Equals(i));
                user.Pwd += user.Pwd;
                db.SubmitChanges();
                Bind();
            }

        }
    }

    * LINQ中查询基本操作的关键字

    --from子句

    --where子句

    --select子句

    --group子句

    --into子句

    --orderby子句

    --join子句

    --let子句

  • 相关阅读:
    贝叶斯公式的直观理解(先验概率/后验概率)
    linux生成.so库如何指定添加其他的.so库
    第一章笔记
    高学成
    第一张笔记
    简单编译器之语法分析
    浅析Netty的异步事件驱动(二)
    浅析Netty的异步事件驱动(一)
    简单编译器之词法分析
    Android TV 焦点控制逻辑
  • 原文地址:https://www.cnblogs.com/yinpeng186/p/1557006.html
Copyright © 2020-2023  润新知