VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • VB.net连接、读写SQL服务器数据库,并在窗口表格中显示数据

有些场合可能需要将读取来的数据进行存储,或者从数据库中读取数据,这时候就可以用到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
 
 
调试效果:


 
————————————————
版权声明:本文为CSDN博主「机构师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/normer123456/article/details/119212343

相关教程