DataTable 增加、修改、删除
using System;
using System.Data;
using System.Windows.Forms;
using DotNet.Utilities; namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
DataTableCollection dt = null;
//查询原始内容
private void button1_Click(object sender, EventArgs e)
{
string sql = @"SELECT r.RegionID, RTRIM(r.RegionDescription)RegionDescription FROM Region AS r";
dt = SqlHelper.GetTableText(sql, null);
dataGridView1.DataSource = dt[0];
} //增加内容
private void button2_Click(object sender, EventArgs e)
{
DataRow dr = dt[0].NewRow();
dr["RegionID"] = textBox2.Text;
dr["RegionDescription"] = textBox3.Text;
dt[0].Rows.Add(dr);
} //修改内容
private void button3_Click(object sender, EventArgs e)
{
DataRow dr = dt[0].Rows[dataGridView1.CurrentRow.Index];
dr.BeginEdit();
dr["RegionID"] = textBox2.Text;
dr["RegionDescription"] = textBox3.Text;
dr.EndEdit(); } //删除内容
private void button4_Click(object sender, EventArgs e)
{
dt[0].Rows[dataGridView1.CurrentRow.Index].Delete();
} //保存内容,根据DataTable生成Sql语句
private void button5_Click(object sender, EventArgs e)
{
textBox4.Clear();
DataTable dtSave = dt[0].GetChanges();
if (dtSave != null)
{
foreach (DataRow item in dtSave.Rows)
{
if (item.RowState == DataRowState.Added)
{
string str = @"
INSERT INTO Region
(
RegionID,
RegionDescription
)
VALUES
(
" + item.ItemArray[0] + @",
'" + item.ItemArray[1] + @"'
)
";
textBox4.Text += str + "\r\n";
textBox4.Text += "----------------------------------------------------------------------------------------" + "\r\n";
}
else if (item.RowState == DataRowState.Modified)
{
string str = @"
UPDATE Region
SET
RegionDescription = '" + item.ItemArray[1] + @"'
WHERE RegionID=" + item.ItemArray[0];
textBox4.Text += str + "\r\n";
textBox4.Text += "----------------------------------------------------------------------------------------" + "\r\n";
}
else if (item.RowState == DataRowState.Deleted)
{
string str = @"
DELETE FROM Region
WHERE RegionID=" + item[0, DataRowVersion.Original];
textBox4.Text += str + "\r\n";
textBox4.Text += "----------------------------------------------------------------------------------------" + "\r\n";
}
}
//这里增加事务执行SQL语句到数据库
//dt[0].AcceptChanges();//保存后清除行状态
}
} private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
DataRow dr = dt[0].Rows[dataGridView1.CurrentRow.Index];
textBox2.Text = dr["RegionID"].ToString();
textBox3.Text = dr["RegionDescription"].ToString();
}
}
}
只根据DataTable生成Sql语句,Devexpress GridControl控件获取索引用 gridView1.GetSelectedRows()[0]

数据库操作类使用https://gitee.com/kuiyu/dotnetcodes开源项目中的SqlHelper
DataTable 增加、修改、删除的更多相关文章
- Oracle 增加修改删除字段
Oracle 增加修改删除字段 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],…. ...
- Oracle 增加修改删除字段与添加注释
添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter ...
- hibernate 批量增加 修改 删除
4.2 Hibernate的批量处理 Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象时,将被自动转换为对数据库的操作.例如调用Session的delete ...
- Oracle-表的字段增加修改删除操作
表结构修改 ALTER TABLE SCOTT.TEST RENAME TO TEST1--修改表名 ALTER TABLE SCOTT.TEST RENAME COLUMN NAME TO NAME ...
- js jquery select 操作 获取值,选中选项,增加,修改,删除
select示例: <select id="sel"> <option value="1">one</option> < ...
- Oracle 增加 修改 删除 列
语法结构如下: alter table tablename add (column datatype [default value][null/not null],….); alter table t ...
- ado.net c#基本的增加,修改,删除,查询
自己初次学习用的,各种不规范,注释没写 class AdoDemo { static string strConn = @"Data Source=server1;Initial Catal ...
- openlayers中实现点的拖拽(modify),在layer中增加修改删除point。
最近忙着整地图,都忘记了总结来沉淀自己,自我检讨一下. 总结一下最近使用openlayer时学习的内容,先说下我的业务逻辑吧,在室内地图中 1,点击新增在地图上新增一个可以拖拽的点,拖拽完成后确定位置 ...
- iOS --SQL的增加、删除、查找、修改
iOS对于数据库的操作:增加.删除.查找.修改 首先需要创建一个数据库:本程序的数据库是在火狐浏览器里的插件里写的微量型数据库 火狐找查找SQLite Manager的步骤: 第一步:在工具栏找到附加 ...
- Oracle表字段的增加、删除、修改和重命名
本文主要是关于Oracle数据库表中字段的增加.删除.修改和重命名的操作. 增加字段语法:alter table tablename add (column datatype [default val ...
随机推荐
- IDEA创建Mapper.xml文件识别不成功的问题
在IDEA的maven项目中,创建一个EmpMapper.xml的文件识别不成功,图标显示为文本文档类型,在写代码时也不会弹出提示 解决方法: 在文件->设置->编辑器->文件类型中 ...
- 串、KMP模式匹配算法
串是由0个或者多个字符组成的有限序列,又名叫字符串. 串的比较: 串的比较是通过组成串的字符之间的编码来进行的,而字符的编码指的是字符在对应字符集中的序号. 计算机中常用的ASCII编码,由8位二进制 ...
- badboy如何录制jmetet脚本
网盘下载: https://pan.baidu.com/s/1mTOEeE47tmk29_wndID3iw 傻瓜式安装即可, 内附教程 1. 打开Badboy, 新建一个文件 2. 输入要录制的网址 ...
- Eclipse的变量标记开关
例如有如下代码: int var_a = 0; int var_b = var_a + 2; 当光标在var_a变量上时,Eclipse会将代码进行如下标记: int var_a = 0; int v ...
- 批量删除gmail邮件
以删除tor.com发送的邮件为例说明. 首先点击邮件搜索框右边的三角,在"发件人"下面写上"tor.com": 点"搜索"按钮,看一下范围 ...
- PrismWPF网盘
技术点 文件分片上传与下载 Vue 正在努力中.... 客户端 采用 WPF:Net5+Prism8+RestSharp 客户端基本结构如下 模块说明 Model: 主要放置Prism模块 ZFile ...
- Goland 这些技巧,学会开发效率翻倍!
hi, 大家好,我是 hhf. <Goland 这些实操技巧,你可能还不会!>介绍了日常开发中一些比较好用的技巧.本篇文章继续介绍一些其他比较好用的技巧. 自定义结构 tag Goland ...
- 阿里云NAS文件迁移项目实践
阿里云文件存储NAS是阿里云推出的用于传统文件共享的,使用NFS协议挂载的共享文件夹. 产品背景 下图是NAS和阿里云另一明星产品OSS以及块存储EBS的区别 NAS核心优势:无需修改程序,挂载之后, ...
- RPM包方式安装Oracle21c的方法
RPM包方式安装Oracle21c的方法 前言 北京时间2021.8.14 Oracle发布了最新的数据库版本Oracle21c, Oracle规划不再发布Oracle20c和Oracle22c, 直 ...
- 【Vulnhub】DC-1靶机
一.信息收集 1.1 环境 kali : 192.168.124.141 DC-1 : 192.168.124.150 1.2 nmap进行扫描 :nmap -sV 192.168.124.150 I ...