有些场合可能需要将读取来的数据进行存储,或者从数据库中读取数据,这时候就可以用到SQL数据库,VB.net和SQL数据库的数据通讯,比较简单。

软件工具:1、visual studio 2019
2、win10系统
3、SQL Server 2019、SSMS(SQL Server Management Studio)

在这里插入图片描述
在这里插入图片描述
程序主要涉及vb.net编程和SQL数据库设置。
SQL数据库简单说一下:
1、登录SQL服务器
登录名:sa ,密码:12345678(自定义)
2、添加新的数据库和新的表(名称自定义):
在这里插入图片描述
右击表,选择编辑前200行,给新建的表添加一些数据,然后保存,作为测试数据使用。
在这里插入图片描述
打开visual studio 2019,新建窗体,在窗体上添加一些按钮和一个数据源控件(datagridview)。
在这里插入图片描述
先定义一下SQL相关的变量:

Dim sqlconn As SqlClient.SqlConnection
    Dim scd As SqlClient.SqlCommand
    Dim sda As SqlClient.SqlDataAdapter
    Dim dt As DataTable

窗体初始化时:

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        sqlconn = New SqlClient.SqlConnection("server=DESKTOP-MGUIPGF\WINCC;database=mtdata001;uid=sa;pwd=12345678;")
        scd = New SqlClient.SqlCommand("select * from Table_1", sqlconn)
        sda = New SqlClient.SqlDataAdapter
        dt = New DataTable

    End Sub

sql的连接实例化,并且输入sql服务器的相关参数,保存服务器名称、数据库名称、登录名、登录密码。这些可以在SQL数据库中查询到。
在这里插入图片描述
open:

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        sqlconn.Open()

    End Sub

就是调用sqlconnection的open方法就行了。
打开之后,对数据库进行读取,读取使用到sqlcommand的指令,具体读取那些数据,加什么过滤,可以根据sql数据表的实际数据进行操作,本例中全部读取:

 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        dt.Clear()           '读取前先将datasource清0

        sda = New SqlClient.SqlDataAdapter(scd)  '实例化sqldataadapter,传入的指令有SQLcommand中提供。

        sda.Fill(dt)                            '将读取的数据填充datatable

        DataGridView1.DataSource = dt           '将datagridview的数据源绑定到datatable

        TextBox1.Text = DataGridView1.Rows.Count      '记录读取的数据的行
        TextBox2.Text = DataGridView1.Columns.Count   '纪律读取的数据的列
    End Sub

读取的数据就可以显示在表格中了:
在这里插入图片描述
读取到sql数据库的数据之后,可能会有修改的需求,这时候可以直接在窗体表格中修改,然后点击“更新”,将修改的数据更新到数据库中:

 Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim scb As New SqlClient.SqlCommandBuilder(sda)  '实例化新的sql指令

        scb.GetUpdateCommand()                           '获取Update功能

        sda.Update(dt)                                   '用于更新datatable,即存入数据库
    End Sub

基本上,读、写的功能就算是实现了,当然,如果有更深入的功能需求,就需要对sql数据库的操作有更深入的了解,有待后续。

关闭数据库连接:

  Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        dt.Clear()
        sqlconn.Close()
    End Sub

完整程序:

Option Explicit On


Public Class Form1

    Dim sqlconn As SqlClient.SqlConnection
    Dim scd As SqlClient.SqlCommand
    Dim sda As SqlClient.SqlDataAdapter
    Dim dt As DataTable

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        sqlconn = New SqlClient.SqlConnection("server=DESKTOP-MGUIPGF\WINCC;database=mtdata001;uid=sa;pwd=12345678;")
        scd = New SqlClient.SqlCommand("select * from Table_1", sqlconn)
        sda = New SqlClient.SqlDataAdapter
        dt = New DataTable

    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        sqlconn.Open()

    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        dt.Clear()           '读取前先将datasource清0

        sda = New SqlClient.SqlDataAdapter(scd)  '实例化sqldataadapter,传入的指令有SQLcommand中提供。

        sda.Fill(dt)                            '将读取的数据填充datatable

        DataGridView1.DataSource = dt           '将datagridview的数据源绑定到datatable

        TextBox1.Text = DataGridView1.Rows.Count      '记录读取的数据的行
        TextBox2.Text = DataGridView1.Columns.Count   '纪律读取的数据的列
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim scb As New SqlClient.SqlCommandBuilder(sda)  '实例化新的sql指令

        scb.GetUpdateCommand()                           '获取Update功能

        sda.Update(dt)                                   '用于更新datatable,即存入数据库
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        dt.Clear()
        sqlconn.Close()
    End Sub
End Class

调试效果:

在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐