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 ...
随机推荐
- GoCN每日新闻(2019-09-30)
GoCN每日新闻(2019-09-30) 1. 使用Sqlmock测试数据库 https://medium.com/ralali-engineering/testing-database-using- ...
- nRF51822 硬件复位引脚
nRF51822 有一个硬件复位引脚和Debug 口SWDIO是共用的,名字叫做nReset. 实现硬件复位是怎样子的: 1.这个引脚引出来, 2.给这个引脚低电平, 3.从低电平拉到高电平,即复位. ...
- 使用pwn_deploy_chroot部署国赛pwn比赛题目
目录 使用pwn_deploy_chroot部署国赛pwn比赛题目 一.前言 二.Docker 三.部署镜像 四.pwn_deploy_chroot 五.check && exp 六. ...
- 第06组 Beta冲刺(1/4)
队名:福大帮 组长博客链接: https://www.cnblogs.com/mhq-mhq/p/11990568.html 作业博客 : https://edu.cnblogs.com/campus ...
- TCP Keepalive笔记
TCP是无感知的虚拟连接,中间断开两端不会立刻得到通知.一般在使用长连接的环境下,需要心跳保活机制可以勉强感知其存活.业务层面有心跳机制,TCP协议也提供了心跳保活机制. 长连接的环境下,人们一般使用 ...
- linux进程守护脚本
为了防止进程异常挂掉,为了避免影响业务,编写一个守护进程,定时检查某个进程是否存在,如果不存在则自动启动该进程.编写脚本文件daemon.sh文件 while true; do server=`ps ...
- vue---定义全局变量或函数
开发项目的时候,有很多的东西需要重复使用,例如函数或者变量等,例如网站服务器地址,token等,这时候就需要设置一波全局变量和全局函数 定义全局函数 原理 新建一个模块文件,然后在main.js里面通 ...
- Word模板生成PDF文件目录出现“错误!未定义书签!”的解决办法
通过程序读取Word文档模板生成PDF时,所有目录的页码全部变为“错误!未定义书签!”,后来经过仔细研究,发现是“域”的问题. 解决办法:全选(Crtl+A),按下Crtl+F11,再打印或者另存为P ...
- svg复用方式<g>, <defs>, <symbol>, <use>
svg复用元素的方式主要有 <g>, <defs>, <symbol>, <use> 1. <g> group, 分组,定义一组元素,初始不 ...
- nvm安装、解决nvm command not found问题、卸载
安装 nvm是node的包版本管理工具,github地址如下:nvm 安装命令 1 curl -o- https://raw.githubusercontent.com/creationix/nvm/ ...