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 ...
随机推荐
- x32下的DLL隐藏
原理主要就是PEB 中模块断链. 这里整理下代码.原理可以看下另一篇我写的帖子. https://www.cnblogs.com/iBinary/p/9601860.html // dllmain.c ...
- session使用方法
每次客户端检索网页时,都要单独打开一个服务器连接,因此服务器不会记录下先前客户端请求的任何信息. 如何维持客户端与服务器的会话?方法之一: servlet中写入: //新建一个session保存用户名 ...
- 深入理解数据库索引采用B树和B+树的原因
前面几篇关于数据库底层磁盘文件读取,数据库索引实现细节进行了深入的研究,但是没有串联起来的讲解为什么数据库索引会采用B树和B+树而不是其他的数据结构,例如平衡二叉树.链表等,因此,本文打算从数据库文件 ...
- SSH框架整合2
===========================================web.xml================================================== ...
- Systemback制作大于4G的Ubuntu系统镜像
1 安装Systemback 依此执行如下命令. sudo apt-get update sudo add-apt-repository ppa:nemh/systemback sudo apt-ge ...
- 性能测试分析过程(三)linux下查看最消耗CPU/内存的进程
linux下查看最消耗CPU 内存的进程 1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10 ...
- win7下查看进程端口
一. 查看所有进程占用的端口 在开始-运行-cmd,输入:netstat –ano 可以查看所有进程 二.查看占用指定端口的程序 当你在用tomcat发布程序时,经常会遇到端口被占用的情况,我们想知道 ...
- NTP时钟同步配置
NTP在Linux下有两种时钟同步方式: 直接同步(也称跳跃同步)和平滑同步(也称微调同步). 直接同步 使用ntpdate命令进行同步,直接进行时间变更. 如果服务器上存在一个12点运行的任务,当前 ...
- CNeo编程语言概述
C语言诞生于1970年,当时在AT&T实验室由Dennis Ritchie主导开发的.据说当时仅用了一周的时间就做好了C语言编译器,所以尽管C语言从90年正式纳入ISO标准委员会,其编号为IS ...
- Python3基础 tuple list转为tuple
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...