使用DataGridView进行增删改查,并同步到数据库

使用DataGridView进行增删改查,并同步到数据库

DataGridView控件具有极高的可配置性和可扩展性。它提供有大量的属性、方法和事件,能够用来对该控件的外观和行为进行自己定义。以下通过一个小样例来展示DataGridView进行增删改查,并同步到数据库的功能。

窗口展示:

<span>使用DataGridView进行增删改查,并同步到数据库</span>

用户需求:

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启用编辑和删除功能。


代码解析:

<span>使用DataGridView进行增删改查,并同步到数据库</span>

1.DataSet与DataTable:

DataSet:数据集,简单理解为一个暂时数据库,将数据源的数据保存在内存中,独立于不论什么数据库。一般包括多个DataTable,以及DataTable之间的约束关系。通过 dataset[“表名”]得到DataTable 。   


2.SqlDataAdapter:SqlDataAdapter对象名  new SqlDataAdapter(查询用sql语句,数据库连接);

Fill方法向数据表中填充数据。Update方法将数据表中的数据提交到数据库。


3.SqlCommandBuilder对象:

SqlCommandBuilder builder =new SqlCommandBuilder(已创建的DataAdapter对象);

利用SqlCommandBuilder对象可以自己主动生成:INSERT命令、UPDATE命令、DELETE命令。


      以上展示的仅仅是冰山一角,DataGridView的功能特别强悍。学无止境!


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119236.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • gtest和gmock的关系_gtest教程

    gtest和gmock的关系_gtest教程对于c++来说写单元测试和mock框架不是一件容易的事情。还好,Google为我们搭建了一个出色的单元测试和mock框架。网上的例子很多都过多强调概念,本文用一个简单的例子让大家对于什么是gtest和gmock让大家有一个直观的了解,让大家很快上手,就像写helloword一样容易。gtest&gmock的1.6版本的使用make编译,新版的已经已经迁移

    2022年9月28日
    4
  • 微信公众账号报错 返回码说明

    微信公众账号报错 返回码说明

    2021年10月29日
    45
  • 内核编程与应用程序开发的主要区别是_内核编程用什么语言

    内核编程与应用程序开发的主要区别是_内核编程用什么语言内核编程既不能访问C库也不能访问标准的C头文件。内核编程时必须使用GNUC。内核编程缺乏像用户空间那样的内存保护机制。内核编程时难以执行浮点数运算。内核给每个进程只有一个很小的定长堆栈。由于内核支持异步中断、抢占和SMR,因此必须时刻注意同步和并发。要考虑可移植性的重要性。…

    2022年10月8日
    5
  • linux内核 lock free

    linux内核 lock free//同步问题:对共享数据的访问,需要同步,互斥。在中断,抢占,多CPU,多线程环境下尤其重要。 同步分为: 阻塞同步,非阻塞同步阻塞同步有许多实现方式了:mutex,semaphore.阻塞同步使用不当就可能造成死锁,活锁,优先级反转。非阻塞同步:(现在流行三种) waitfree 很难实现,思想是本线程有限步就完成,完全不用理其余线程。 lock

    2022年7月19日
    17
  • phpstrom2021激活码【注册码】

    phpstrom2021激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    43
  • 双绞线制作实验报告心得体会_制作网络双绞线实验心得

    双绞线制作实验报告心得体会_制作网络双绞线实验心得参考各路资料。不一一指出。一、实验目的:(1)学会两种双绞线制作方法;(2)掌握剥线/压线钳和普通网线测试仪的使用方法;(3)了解双绞线和水晶头的组成结构;(4)了解各网络设备之间网线连接的特点。二、实验项目:(1)直通线的制作(2)交叉线制作三、实验准备1、相关知识的准备(1)RJ-45水晶头结构(2)做线工具 剥线/压线钳

    2025年8月2日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号