ADO,net 实体数据模型增、删、改,浅谈
第一步:建立ADO.net数据模型,一步步操作就行

第二步:画个简单的测试界面

第三步铺代码
using DevComponents.DotNetBar.SuperGrid;
using DevComponents.DotNetBar.SuperGrid.Style;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace ado增删改
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void StyleSPG()
{
GridPanel gpnl = SPG.PrimaryGrid;
gpnl.AllowRowInsert = false;
//gpnl.ColumnAutoSizeMode = ColumnAutoSizeMode.AllCells;//卡顿原因
gpnl.KeyboardEditMode = KeyboardEditMode.EditOnKeystroke;//编辑模式
gpnl.MouseEditMode = MouseEditMode.DoubleClick;
gpnl.GroupByRow.Visible = false;//手动分组显示
gpnl.ColumnHeader.FilterImageVisibility = ImageVisibility.Never;//列头筛选图标
gpnl.EnableRowFiltering = false;//筛选行行头不可用
gpnl.ImmediateResize = false;
gpnl.EnableCellMerging = false;//合并单元格
gpnl.GroupHeaderClickBehavior = GroupHeaderClickBehavior.ExpandCollapse;//分组单击行为
gpnl.ColumnHeaderClickBehavior = ColumnHeaderClickBehavior.Select;//列头单击行为
gpnl.EnableFiltering = true;
gpnl.EnableColumnFiltering = true;
gpnl.Filter.Visible = true;
gpnl.FilterMatchType = FilterMatchType.RegularExpressions;
gpnl.Filter.RowHeight = ;
gpnl.RowHeaderWidth = ;
gpnl.AllowRowHeaderResize = true;
gpnl.TopLeftHeaderSelectBehavior = TopLeftHeaderSelectBehavior.NoSelection; gpnl.AllowRowResize = true;//允许用户拖动行高 gpnl.DefaultVisualStyles.CellStyles.Default.AllowWrap = Tbool.True;//可自动换行
gpnl.DefaultVisualStyles.CellStyles.Selected.AllowWrap = Tbool.True;
gpnl.DefaultVisualStyles.CellStyles.Default.Font = new System.Drawing.Font("微软雅黑", );
gpnl.ShowGroupUnderline = false;//是否显示分组下划线 SPG.PrimaryGrid.ColumnAutoSizeMode = ColumnAutoSizeMode.AllCells;
GridColumn col = new GridColumn();
col = new GridColumn();
col.Name = "Q_Name";
col.HeaderText = "姓名";
col.EditorType = typeof(GridLabelXEditControl);
col.CellMergeMode = CellMergeMode.Horizontal;
col.AutoSizeMode = ColumnAutoSizeMode.AllCells;
SPG.PrimaryGrid.Columns.Add(col);
col = new GridColumn();
col.Name = "Q_Code";
col.HeaderText = "QQ号码";
col.EditorType = typeof(GridLabelXEditControl);
// col.FilterMatchType = FilterMatchType.RegularExpressions;
col.CellMergeMode = CellMergeMode.None;
col.AutoSizeMode = ColumnAutoSizeMode.Fill;
SPG.PrimaryGrid.Columns.Add(col);
col = new GridColumn();
col.Name = "DateTime";
col.HeaderText = "保存时间";
col.EditorType = typeof(GridLabelXEditControl);
// col.FilterMatchType = FilterMatchType.RegularExpressions;
col.CellMergeMode = CellMergeMode.None;
col.AutoSizeMode = ColumnAutoSizeMode.AllCells;
SPG.PrimaryGrid.Columns.Add(col);
col = new GridColumn();
col.Name = "id";
col.HeaderText = "id";
col.EditorType = typeof(GridLabelXEditControl);
// col.FilterMatchType = FilterMatchType.RegularExpressions;
col.CellMergeMode = CellMergeMode.None;
col.AutoSizeMode = ColumnAutoSizeMode.AllCells; SPG.PrimaryGrid.Columns.Add(col);
}
/// <summary>
/// 删除
/// </summary>
public void Del()
{
DB_ConfigEntities2 DBC = new DB_ConfigEntities2();
QQ_Mess user = new QQ_Mess();
user.id = int.Parse(TID.Text);
DBC.Entry<QQ_Mess>(user).State = System.Data.Entity.EntityState.Deleted;
DBC.SaveChanges(); }
/// <summary>
/// 查询
/// </summary>
public void EFSelectAll()
{
if(cb.Checked ==true)
{
DB_ConfigEntities2 DBC = new DB_ConfigEntities2();
SPG.PrimaryGrid.DataSource = DBC.QQ_Mess.ToList();
}else
{
QQ_Mess Qm = new QQ_Mess();
DB_ConfigEntities2 DBC = new DB_ConfigEntities2();
SPG.PrimaryGrid.DataSource = DBC.QQ_Mess.Where(u => u.Q_Name ==TTTT_Name.Text).ToList();
} }
private void Form1_Load(object sender, EventArgs e)
{
cb.Checked = true;
StyleSPG();
EFSelectAll();
}
/// <summary>
/// 添加
/// </summary>
public void EFadd()
{
DB_ConfigEntities2 DBC = new DB_ConfigEntities2();
QQ_Mess QM = new QQ_Mess();
QM.DateTime = DateTime.Parse( DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
QM.Q_Code = T_QQ.Text;
QM.Q_Name = T_Name.Text;
DBC.QQ_Mess.Add(QM);
DBC.SaveChanges();
} public void EFupdate()
{
DB_ConfigEntities2 DBC = new DB_ConfigEntities2();
QQ_Mess QM = new QQ_Mess();
QM.DateTime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
QM.id = int.Parse(T1.Text.ToString());
QM.Q_Code = T3.Text.Trim();
QM.Q_Name = T2.Text.Trim();
DBC.Entry(QM).State = System.Data.Entity.EntityState.Modified;
DBC.SaveChanges(); }
private void btadd_Click(object sender, EventArgs e)
{
EFadd();
EFSelectAll();
} private void btselect_Click(object sender, EventArgs e)
{
EFSelectAll();
} private void btdel_Click(object sender, EventArgs e)
{
Del();
EFSelectAll();
} private void Update_Click(object sender, EventArgs e)
{
EFupdate();
EFSelectAll();
}
}
}
总结:新增
删除 注意:id为主键,不唯一
修改 id为主键,不唯一

查询
整表查询

条件查询

主键查询

ADO,net 实体数据模型增、删、改,浅谈的更多相关文章
- EF里单个实体的增查改删以及主从表关联数据的各种增删 改查
本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...
- ADO.NET 增 删 改 查
ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...
- 第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据
第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...
- C# ADO.NET (sql语句连接方式)(增,删,改)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- ADO.NET实体数据模型使用探索1
今天研究了下ADO.NET实体数据模型,想写个关于两张有外键关系的增改删查,以此来稍增加点难度. 编程环境:vs2010+sql2005 1.在SQL2005下建立三张表:学生信息表Student(S ...
- Model First:创建实体数据模型(ADO.NET 实体数据模型)
Microsoft Entity Framework是一个对象关系映射工具(Object Relational Mapping ,O/RM)工具.它可以让你从一个数据库自动地生成数据接入层.实体框架免 ...
- Visual 2015创建新项,缺少ADO.NET 实体数据模型的解决方法
现在的某度查资料真的很麻烦,突然我自身的VS2015创建EF的时候找不到 ADO.NET 实体数据模型,但是使用CodeFrist是可以生成数据表的.所有特别郁闷. 打开界面如下 某度半天,都没有查出 ...
- 好用的SQL TVP~~独家赠送[增-删-改-查]的例子
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...
- iOS FMDB的使用(增,删,改,查,sqlite存取图片)
iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...
随机推荐
- Error:(1, 1) java: 非法字符: '\ufeff'
找到 java 文件. 使用 notepad 打开,转码,并保存即可.
- MATLAB 可以画的各种类型的图总结
MATLAB® 提供了各种可用来绘制数据图的函数.下表对常见的图形函数进行了分类和说明. 线图 数据分布图 离散数据图 极坐标图 等高线图 向量场 plot area stairs polarplot ...
- csp退役前的做题计划1(真)
csp退役前的做题计划1(真) 因为我太菜了,所以在第一次月考就会退役,还是记录一下每天做了什么题目吧. 任务计划 [ ] Z算法(Z Algorithm) 9.28 [x] ARC061C たくさん ...
- 计算电脑所能表示的最大最小值(c++)
C++当中获得现在计算机上所能表示的各种类型(比如int,long int,short int,double,float等)最大最小有两种方法,一种是使用c++预先定义的宏,对于有些编译器可能需要包含 ...
- 关于js中onload事件的部分报错。
当使用onload获取元素时,建议在onload事件之前定义需要获取的元素名称,在onload里面只执行获取操作,这样获取到的元素在后面才能顺利使用. <!DOCTYPE html> &l ...
- DELPHI7 ADO二层升三层新增LINUX服务器方案
DELPHI7 ADO二层升三层新增LINUX服务器方案 引子:笔者曾经无数次在用户的LINUX服务器上创建一个WINDOWS虚拟机,用于运行自己DELPHI开发中间件. 现在再不需要如此麻烦了. 咏 ...
- bookdown - 撰写和发表自己的网络书籍/文档
BOOKDOWN官网 - bookdown上有不少人发布了自己的电子书 bookdown-demo (一个demo,github源码)- Rstudio出品,Yihui Xie开发,著名单细胞课程在用 ...
- Netty回调与Channel执行流程分析
在上一篇的基础上修改代码 1.TestHttpServerHandle 类 package com.example.firstexample; import io.netty.buffer.Byte ...
- python限定方法参数类型、返回值类型、变量类型等
typing模块的作用 自python3.5开始,PEP484为python引入了类型注解(type hints) 类型检查,防止运行时出现参数和返回值类型.变量类型不符合. 作为开发文档附加说明,方 ...
- 3秒钟unittest入门使用
一:unittest跑起来 unittest使用,具体使用方式可以查看unittest官网,以下简单做个介绍,在工作中使用最多的 # 第一步: 创建unittest类,且一定要继承unittest.T ...