博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linq to sql 简单的增删改查例子。
阅读量:6418 次
发布时间:2019-06-23

本文共 2543 字,大约阅读时间需要 8 分钟。

简单的学习了一下linq to sql  并亲手制作了一个例子。

第一步:先创建数据库 TestLinToSql 并创建了表 table  其中包括三个字段,guid、name、id。我用的是sql2008数据库。

第二步:创建一个项目 TestLinq ,并在解决方案中增加类库 DataSql。

第三步:在 DataSql 类库中增加 LINQ to SQL 类 DataLinq.dbml。

第四步: 点击服务器资源管理器,右键添加连接把服务器的ip地址填上,确定就可以。

第五步:把需要的表拖拽到 DataLinq.dbml页面中。

结构如图:

第六步:就是去创建页面,实现增删改查的功能了。

页面加载时候的操作:

//记住要在项目中引用 System.Linq 否则会报:错误 1 类型“System.Data.Linq.DataContext”在未被引用的程序集中定义。        DataLinqDataContext ddc = new DataLinqDataContext();        //DataLinqDataContext ddc = new DataLinqDataContext("server=10.11.43.74;database=TestLinToSql;uid=sa;pwd=sa");//重载方式连接数据库        protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                Bind();                this.TextBox1.Text = Guid.NewGuid().ToString();            }                   }        private void Bind()        {            this.GridView1.DataSource = from p in ddc.table select p;            this.GridView1.DataBind();        }

插入数据库的操作:

///         /// 新增按钮 问题:如果提示表没有主键 就把dbml中的表删除,然后在重新拖拽进去就可以。        ///         ///         ///         protected void btnAdd_Click(object sender, EventArgs e)        {            table tb = new table();//数据库实例            tb.guid = TextBox1.Text;            tb.name = TextBox2.Text;            ddc.table.InsertOnSubmit(tb);//插入数据库            ddc.SubmitChanges();            Bind();        }

更新数据库操作:

///         /// 更新按钮        ///         ///         ///         protected void btnEdit_Click(object sender, EventArgs e)        {            table tbup = ddc.table.FirstOrDefault(p => p.guid == this.TextBox1.Text);//获取要更新字段的主键            tbup.name = TextBox2.Text;//要更新的内容            ddc.SubmitChanges();            Bind();        }

删除数据库操作:

///         /// 删除        ///         ///         ///         protected void btnDel_Click(object sender, EventArgs e)        {            table tbup = ddc.table.FirstOrDefault(p => p.guid == this.TextBox1.Text);//获取要更新字段的主键            ddc.table.DeleteOnSubmit(tbup);//删除语句            ddc.SubmitChanges();            Bind();        }

 linq to sql 多表联合查询例子:

this.GridView1.DataSource = from p in ddc.table join b in ddc.table2 on p.guid equals b.guid //联合查询 join 相当于 inner join                                        into g                                        from j in g.DefaultIfEmpty()                                        select new { guid = p.guid,name = p.name,clas = j.clas};//必须把要显示的字段全部都写在这里。

 

至于在开发中选择SQL的方式还是选择Linq to SQL 可以根据具体的需求和上网看看他们之间的优缺点就知道了。。

转载于:https://www.cnblogs.com/smile-wei/archive/2013/05/04/3059413.html

你可能感兴趣的文章
九月份技术指标 华为交换机的简单配置
查看>>
python 写json格式字符串到文件
查看>>
分布式文件系统MogileFS
查看>>
电力线通信载波模块
查看>>
linux vim详解
查看>>
Java23种设计模式案例:策略模式(strategy)
查看>>
XML解析之DOM4J
查看>>
图解微服务架构演进
查看>>
SQL PATINDEX 详解
查看>>
一些常用的网络命令
查看>>
CSP -- 运营商内容劫持(广告)的终结者
查看>>
DIV+CSS命名规范有助于SEO
查看>>
js生成二维码
查看>>
C指针练习
查看>>
web项目buildPath与lib的区别
查看>>
php对redis的set(集合)操作
查看>>
我的友情链接
查看>>
ifconfig:command not found的解决方法
查看>>
js使用正则表达式判断手机和固话格式
查看>>
计算机是怎么存储数字的
查看>>