使用DataGridView进行增删改查,并同步到数据库
DataGridView控件具有极高的可配置性和可扩展性。它提供有大量的属性、方法和事件,能够用来对该控件的外观和行为进行自己定义。以下通过一个小样例来展示DataGridView进行增删改查,并同步到数据库的功能。
窗口展示:
用户需求:
1.当窗口显示时,将数据库中用户表中的数据显示出来。
2.选中一行,运行删除操作,同一时候在数据库中对应数据被删除。
3.双击某个数据,进行编辑,或者在空白行加入新的数据,然后点击更新,数据库随之更新。
代码展示:
Public Class Form1'代码较简单,没有使用三层架构。
Public DT As DataTable
Public SDA As SqlDataAdapter
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim conn = New SqlConnection("Server=***;DataBase=userinfo;User ID=***;Password=***")
SDA = New SqlDataAdapter("select * from Users", conn)
DT = New DataTable SDA.Fill(DT) '将查到的数据传到DataTable中
DataGridView1.DataSource = DT '将DataTable中的数据传给DataGridView1显示 End Sub
'更新操作
Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click Dim SCB = New SqlCommandBuilder(SDA)
SDA.Update(DT)
MsgBox("更新成功") End Sub
'删除操作
Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click
'删除选中行
DataGridView1.Rows.RemoveAt(DataGridView1.CurrentCell.RowIndex)
'数据库中进行删除
Dim SCB = New SqlCommandBuilder(SDA)
SDA.Update(DT)
MsgBox("删除成功") End Sub
End Class
注意:
1.数据库中对应的表中一定要有主键。
2.DataGridView启用编辑和删除功能。
代码解析:
1.DataSet与DataTable:
DataSet:数据集,简单理解为一个暂时数据库,将数据源的数据保存在内存中,独立于不论什么数据库。一般包括多个DataTable,以及DataTable之间的约束关系。通过 dataset["表名"]得到DataTable 。
2.SqlDataAdapter:SqlDataAdapter对象名
= new
SqlDataAdapter(查询用sql语句,数据库连接);
Fill方法向数据表中填充数据。Update方法将数据表中的数据提交到数据库。
SqlCommandBuilder builder =new SqlCommandBuilder(已创建的DataAdapter对象);
利用SqlCommandBuilder对象可以自己主动生成:INSERT命令、UPDATE命令、DELETE命令。
以上展示的仅仅是冰山一角,DataGridView的功能特别强悍。学无止境!
使用DataGridView进行增删改查,并同步到数据库的更多相关文章
- 浅谈dataGridView使用,以及画面布局使用属性,对datagridview进行增删改查操作,以及委托使用技巧
通过几天的努力后,对datagridview使用作一些简要的介绍,该实例主要运用与通过对datagridview操作.对数据进行增删改查操作时,进行逻辑判断执行相关操作.简单的使用委托功能,实 ...
- 用户增删改查 django生命周期 数据库操作
一 django生命周期 1 浏览器输入一个请求(get/post)2 响应到django程序中3 执行到url,url通过请求的地址匹配到不同的视图函数4 执行对应的视图函数,此过程可以查询数据库, ...
- jdbc 增删改查以及遇见的 数据库报错Can't get hostname for your address如何解决
最近开始复习以前学过的JDBC今天肝了一晚上 来睡睡回笼觉,长话短说 我们现在开始. 我们先写一个获取数据库连接的jdbc封装类 以后可以用 如果不是maven环境的话在src文件下新建一个db.pr ...
- Java学生信息增删改查(并没用数据库)
一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...
- java图书管理的一个小模块(增删改查,不使用数据库)
图书管理模块:某图书管需要对图书进行信息化管理,要求管理员能够进行新增图书,能按照书名进行模糊查看图书能进行价格统计 系统实现如下:1.新增2.查询3.统计价格 1请输入新书:图书号,书名,作者,价格 ...
- WPF DataGrid 数据绑定、样式、分页、增删改查,连接Access数据库
先上效果图: XAML: <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&q ...
- 在Eclipse中对包进行增删改查
package com.hanqi.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.R ...
- mysql 增删改查最基本用法小结
目录: 1.新建数据库 2.新建数据表 3.查看表结构 4.增删改查 建立一个数据库students 建立一块数据表class1 内容包括: id 主键 自动编号 无符号位 SMALLINT类型 na ...
- java连接mysql以及增删改查操作
java连接数据库的代码基本是固定的,步骤过程觉得繁琐些,代码记起来对我来说是闹挺.直接上代码: (温馨提醒:你的项目提前导入连接数据库的jar包才有的以下操作 ) class DBConnectio ...
随机推荐
- git —— Feature分支
添加新功能时,新建feature分支 分支上开发完成后,再进行合并.最后删除feature分支 $ git checkout -b feature-vulcan 开发完毕后,切换回添加的分支,进行合并 ...
- SQL Server日期计算
通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天.你们大部分人大概都知道怎样把日期进行分割(年.月.日等),然后仅仅用分割出来的年.月.日等放在几个函 ...
- redux-saga印象
saga作为redux的中间件,用来处理异步任务. 先收集资料: 贴个文章(2)中的图先: 注意:参考文献(4)是redux-saga作者写的. 参考文章: (1)https://redux-saga ...
- GUC-6 Callable 接口
import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.ut ...
- CentOS7.5搭建ELK6.2.4集群及插件安装
一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...
- CRLF LF CR
The Carriage Return (CR) character (0x0D, \r) moves the cursor to the beginning of the line without ...
- 【51nod】1565 模糊搜索
题解 这个字符集很小,我们可以把每个字符拿出来做一次匹配,把第一个字符串处理每个出现过的该字符处理成一个区间加,即最后变成第一个字符串的该位置能够匹配某字符 例如对于样例 10 4 1 AGCAATT ...
- Spring的配置文件ApplicationContext.xml配置头文件解析
Spring的配置文件ApplicationContext.xml配置头文件解析 原创 2016年12月16日 14:22:43 标签: spring配置文件 5446 spring中的applica ...
- RabbitMQ 相关理论部分
集群配置方式 RabbitMQ可以通过三种方法来部署分布式集群系统,分别是:cluster,federation,shovel cluster: 不支持跨网段,用于同一个网段内的局域网 可以随意的动态 ...
- Python学习之字符串格式化
Table 3.1. 字符串格式化代码 格式 描述 %% 百分号标记% %c 字符及其ASCII码 %s 字符串 %d 有符号整数(十进制) %u 无符号整数(十进制) %o 无符号整数(八进制) % ...