ORM增删改查询例题
public partial class Form1 : Form
{
private MydbInfoDataContext context = new MydbInfoDataContext();
public Form1()
{
InitializeComponent();
}
//查询所有
private void butOK_Click(object sender, EventArgs e)
{
// var var = from p in context.Info select p;
var var = context.Info;
dataGridView1.DataSource = var;
}
//等值查询
private void butDengzhi_Click(object sender, EventArgs e)
{
//var var=from p in context.Info where p.Name=="胡军"select p;
var var = context.Info.Where(p => p.Name == "胡军");
dataGridView1.DataSource = var;
}
//不等值查询
private void butBudengzhi_Click(object sender, EventArgs e)
{
//var var = from p in context.Info where p.Code != "p001" select p;
var var = context.Info.Where(p => p.Code != "p002");
dataGridView1.DataSource = var;
}
//多条件查询
private void butDuotiaojian_Click(object sender, EventArgs e)
{
//var var = from p in context.Info where p.Sex == true && p.Nation == "n003" select p;
var var = context.Info.Where(p => p.Sex == true ).Where(p=>p.Nation=="n003");
dataGridView1.DataSource = var;
}
//数据添加
private void butADD_Click(object sender, EventArgs e)
{
Info data = new Info();
data.Code = txtcode.Text;
data.Name = txtname.Text;
data.Sex = Convert.ToBoolean (txtsex.Text);
data.Nation = txtnation.Text;
data.Birthday = Convert.ToDateTime(txtbirthday.Text);
context.Info.InsertOnSubmit(data);
context.SubmitChanges();
}
//数据在界面显示
private void Form1_Load(object sender, EventArgs e)
{
List<Info> list = context.Info.ToList();
dataGridView1.DataSource = list;
}
//删除数据
private void butdelete_Click(object sender, EventArgs e)
{
var var = context.Info.Where(p => p.Code == txtcode.Text);
if(var.Count()>0)
{
Info data = var.First();
context.Info.DeleteOnSubmit(data);
context.SubmitChanges();
}
}
//
private void txtcode_TextChanged(object sender, EventArgs e)
{
}
//修改数据
private void butUpdata_Click(object sender, EventArgs e)
{
var var = context.Info.Where (p => p.Code == txtcode.Text);
if(var.Count()>0)
{
Info data = var.First();
data.Code = txtcode.Text;
data.Name = txtname.Text;
data.Sex =Convert.ToBoolean( txtsex.Text);
data.Nation = txtnation.Text;
data.Birthday =Convert.ToDateTime (txtbirthday.Text);
}
context.SubmitChanges();
}
//模糊查询
private void butMohu_Click(object sender, EventArgs e)
{
//var var = from p in context.Info where p.Name.Contains("环") select p;
// var var = context.Info.Where(p => p.Name.StartsWith("环"));
// var var = context.Info.Where(p => p.Name.EndsWith("妹"));
var var =context.Info.Where(p=>p.Name.Substring(0,1)=="环");
dataGridView1.DataSource = var;
}
//集合操作
private void butJihecaozuo_Click(object sender, EventArgs e)
{
var var1 = context.Info.Where(p => p.Sex == true);
var var2 = context.Info.Where(p => p.Nation == "n003");
//相交部位
//var var = var1.Intersect(var2);
//var var = var1.Union(var2);
var var = var2.Except(var1);
dataGridView1.DataSource = var;
}
//统计函数 个数 总和 平均值 最大 最小
private void butTongji_Click(object sender, EventArgs e)
{
var var = context.Info.Where(p => p.Birthday.Value.Month > 5);
//显示月份在五月份的有2个
txtcode.Text = var.Count().ToString();
//显示当前日期月份减去查询人物生日月份的值
txtname.Text = var.Sum(p => DateTime.Now.Month - p.Birthday.Value.Month).ToString();
//当前日期月份减去查询日期月份的平均值
txtsex.Text = var.Average(p => DateTime.Now.Month - p.Birthday.Value.Month).ToString();
//当前日期月份减去查询日期月份的最大值
txtnation.Text = var.Max(p => DateTime.Now.Month - p.Birthday.Value.Month).ToString();
//当前日期月份减去查询日期月份的最小值
txtbirthday.Text = var.Min(p => DateTime.Now.Month - p.Birthday.Value.Month).ToString();
}
//转换操作
private void butZhuanHuan_Click(object sender, EventArgs e)
{
//转换成集合
var var = context.Info.Where(p => p.Birthday.Value.Month > 5);
List<Info> list = var.ToList();
//转换成数组
//var var = context.Info.Where(p => p.Birthday.Value.Month > 5);
//Info[] list = var.ToArray();
//转换成对象
//var var = context.Info.Where(p => p.Birthday.Value.Month > 5);
//Info data = var.First();
dataGridView1.DataSource = var;
}
//分页查询
private void butFenYe_Click(object sender, EventArgs e)
{
//跳过1条分成2页 显示2条
var var = context.Info.Skip(1 * 1).Take(2);
dataGridView1.DataSource = var;
}
}
|
ORM增删改查询例题的更多相关文章
- Django框架(三)-- orm增删改查、Django生命周期
一.orm介绍 1.什么是orm ORM即Object Relational Mapping,全称对象关系映射. 2.使用orm的优缺点 优点: 不用写SQL语句 开发效率高 缺点: SQL的效率低 ...
- Django框架(三)—— orm增删改查、Django生命周期
目录 orm增删改查.Django生命周期 一.orm介绍 二.orm增删改字段 三.Django生命周期 orm增删改查.Django生命周期 一.orm介绍 1.什么是orm ORM即Object ...
- ORM增删改查并发性能测试2
前言 上一篇<ORM增删改查并发性能测试>出现了点小失误,有的输出SQL日志的代码没有禁用,数据库连接字符串可能有问题.统一环境,统一代码后,重新写一篇. 这次重点是并发性能测试,真不是为 ...
- django ORM 增删改查 模糊查询 字段类型 及参数等
ORM 相关 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (), gen ...
- 饮冰三年-人工智能-Python-24 Django ORM增删改查
一:首先使用默认的sqlite3创建表 1:现在在models.py中添加表模型 from django.db import models # Create your models here. cla ...
- $Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期
1 orm介绍 ORM是什么 ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM. 一 ...
- day054 组件 CBV FBV 装饰器 ORM增删改查
组件: 把一小段HTML 放在一个HTML中 nav.html 使用: {% include ‘nav.html ’ %} 一. FBV 和CBV 1.FBV(function base ...
- ORM增删改查
目录 orm django 连接mysql顺序 1 settings配置文件中 2 项目文件夹下的init文件中写上下面内容, 补充 3 models文件中创建一个类(类名就是表名) 4.执行数据库同 ...
- ORM增删改查并发性能测试
这两天在对一些ORM进行性能测试(涉及SqlSugar.FreeSql.Fast.Framework.Dapper.LiteSql),测试用的是Winform程序,别人第一眼看到我的程序,说,你这测试 ...
随机推荐
- PyDev下PyQt 的尝试
刚刚装完PyDev ,试了下之前写的调用PyQt的下代码,发现运行出错:搜索只还需在System PYHONPATH下 添加PyQt的路径,步骤如下: eclipse--window--Prefere ...
- 二叉树的前序和中序得到后序 hdu1710
今天看学长发过来的资料上面提到了中科院机试会有一个二叉树的前序中序得到后序的题目.中科院的代码编写时间为一个小时,于是在七点整的时候我开始拍这个题目.这种类型完全没做过,只有纸质实现过,主体代码半个小 ...
- day8 - isinstance--issubclass-异常处理-自定义异常
一.isinstance(obj, cls) 检查是否obj是否是类 cls 的对象 __author__ = 'Administrator' class Foo(object): pass obj ...
- 海量数据存储之Key-Value存储简介
Key-value存储简介 具备高可靠性及可扩展性的海量数据存储对互联网公司来说是一个巨大的挑战,传统的数据库往往很难满足该需求,并且很多时候对于特定的系统绝大部分的检索都是基于主键的的查询,在这种情 ...
- Android_Service组件详解
1.Service概述 Service服务是一个没有用户界面的在后台运行执行操作的应用组件,其它组件可以通过Intent意图启动这个Service去完成特定的功能,比如通过Service可以完成播放音 ...
- android如何用adb shell启动应用程序
昨天研究了很久,可能由于基础比较菜吧,所以,没有搜到一个可以直接解决问题的,需要综合几个之后,问题得以解决,记下方法,为了方便自己之后遇到同样问题,也为了方便搜索同样问题的朋友. 主要用到了aapt和 ...
- android listview滚动到顶部
1.为了实现类似IOS点击状态栏,列表回滚到顶部的功能(要平滑滚动效果),android上点击一个按钮或是图片什么的也可以让listview一次性滚动到顶部(滑动太多页时,一次可能滚不到顶部,使用ha ...
- 使用ssh远程执行命令批量导出数据库到本地(转)
前天正在跟前端的同事调试功能.服务器开好,模拟的玩家登录好,就在倒计时.这时突然运营的同事跑过来说要统计几个服务器玩家的一些情况,也就是需要从几个服的数据库导出部分玩家的数据.好吧,我看了一下时间,1 ...
- boost uuid 学习笔记
#include <vector>#include <iostream>#include <boost/uuid/uuid.hpp>#include <boo ...
- windows下安装mysql5.6.13的主从复制
如下操作均在vmware 虚拟机中winows xp 测试成功 中间走了很多弯路,网上的很多资料都是针对5.1以前的版本,在新版中根本无法使用,所以根据自己的实践整理了这篇文章 主服务:192.168 ...