LINQ:Language INtegrated Query,语言集成查询。

以下内容演示如何利用LINQ进行增加,修改,删除和查询操作,针对数据库。

首先创建Linq Class。

添加数据库信息,直接Add一个Connection,

输入服务器和登录ID,测试连接成功。

现在可以看到数据库里面的信息了,比如Table。

把需要查询的Table直接拖到界面上来,

好了,现在我们开始写代码进行增删改查:

1.查询

 private void btnSelect_Click(object sender, EventArgs e)
{
DataClasses1DataContext dcdc = new DataClasses1DataContext();
var a = from b in dcdc.tb_Users
where (b.ID == Convert.ToInt32(this.txtID.Text.Trim()))
select b.Name;
MessageBox.Show(a.First());
}

解释:单击“Select”按钮的时候,实例化一个DataClasses1DataContext类,通过这个类可以访问我们要查询的那个Table,这里查询了tb_users表中的信息,条件就是通过界面上面一个文本框得到的ID值,然后输出信息。

2.增加

DataClasses1DataContext dcdc = new DataClasses1DataContext();

            tb_User tu = new tb_User();
tu.ID = new Random().Next(, );
tu.Name = "testname";
tu.Age = ;
dcdc.tb_Users.InsertOnSubmit(tu);
dcdc.SubmitChanges();

解释:单击“Insert”按钮的时候,实例化一个DataClasses1DataContext类,另外要首先有一个表的实例,这里往tb_users表中增加一个信息, Name="testname",年龄=28,ID是一个随机数,然后调用InsertOnSubmit和SubmitChanges方法执行。

private void btnUpdate_Click(object sender, EventArgs e)
{
DataClasses1DataContext dcdc = new DataClasses1DataContext(); tb_User tb = dcdc.tb_Users.SingleOrDefault(tb_User => tb_User.ID == Convert.ToInt32(this.txtID.Text.Trim()));
tb.Age = ;
dcdc.SubmitChanges(); }

解释:单击“Update”按钮的时候,实例化一个DataClasses1DataContext类, 这里修改tb_users表中一条数据, 将年龄更改为888,条件便是根据ID来修改,ID是从文本框中获取的。

 private void btnDelete_Click(object sender, EventArgs e)
{
DataClasses1DataContext dcdc = new DataClasses1DataContext();
tb_User tb = dcdc.tb_Users.SingleOrDefault(tb_User => tb_User.ID == Convert.ToInt32(this.txtID.Text.Trim()));
dcdc.tb_Users.DeleteOnSubmit(tb);
dcdc.SubmitChanges();
}

解释:单击“Delete”按钮的时候,实例化一个DataClasses1DataContext类, 这里删除tb_users表中一条数据, 删除条件便是根据ID来删除,ID是从文本框中获取的。

LINQ 简单用法【1】的更多相关文章

  1. Knockout简单用法

    Knockout简单用法 在最近做的一个项目中,页面数据全部通过js ajax调用webapi接口获取,也就是说页面的数据全部使用javascript脚本填充,这就想到了使用一个MVVM模式的js框架 ...

  2. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  3. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  4. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  5. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  6. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

  7. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  8. TransactionScope简单用法

    记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

  9. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

随机推荐

  1. 给文件加ip访问限制

    获取IP: function getIP(){ return isset($_SERVER['HTTP_X_FORWARDED_FOR'])? $_SERVER['HTTP_X_FORWARDED_F ...

  2. 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.6.Dialog控件

    习惯上,我们播放一条简短的信息,或向浏览者询问一个问题,都会用到dialog. 创建一个基本的dialog 使用dialog 选项 形式 启用内置动画 给dialog添加按钮 使用dialog回调函数 ...

  3. Nagios监控远端的mysql

    工作原理: 利用特定的用户定期访问指定的mysql数据库.当不能访问或连不通时则报警. 1.在生产库上安装nagios插件    安装略    备注:编译完显示一定要有mysql支持,不然没有chec ...

  4. Python源代码目录组织结构

  5. ectouch第六讲 之表常用链接

    ECTouch1.0 常用链接:精品属性商品mobile/index.php?m=default&c=category&type=best 新品属性商品mobile/index.php ...

  6. 天大 ACM 1090. City hall

    此题的关键就在你是如何选择来计算需要加进去的砖块,是从小的height开始还是从大的height开始.本题是新建一个数组用来存储从最大的(最大的height)砖头开始的砖头数.代码中“for(int ...

  7. https协议操作

    在伪静态中加入下列代码 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{SERVER_PORT} 80 RewriteRul ...

  8. Emag eht htiw Em Pleh 分类: POJ 2015-06-29 18:54 10人阅读 评论(0) 收藏

    Emag eht htiw Em Pleh Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2937   Accepted: ...

  9. JAVA基础知识之IO——对象序列化

    对象序列化 Java对象序列化(Serialize)是指将Java对象写入IO流,反序列化(Deserilize)则是从IO流中恢复该Java对象. 对象序列化将程序运行时内存中的对象以字节码的方式保 ...

  10. #ifdef _DEBUG

    #ifdef _DEBUG virtual void AssertValid() const; //assert(断言)valid(有效的,正确的) virtual void Dump(CDumpCo ...