版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
关于《Visual Basic.Net 循序渐进》请到百度网盘下载,具体下载地址:
链接:https://pan.baidu.com/s/1IfaLvlklx-nT4KK4VKZuIw
提取码:ip5n
全部代码如下:
Imports System.ComponentModel
Imports System.Data.OleDb
Public Class FormExpress
Dim connection As OleDbConnection
Dim arrExpress As List(Of Integer)
Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
Me.Close()
End Sub
Private Sub FormExpress_Load(sender As Object, e As EventArgs) Handles MyBase.Load
connection = New OleDbConnection(databaseConnString)
'打开数据连接
connection.Open()
arrExpress = New List(Of Integer)
Call fillControls()
End Sub
'填充数据选项,主要是 lvExpress
Private Sub fillControls()
arrExpress.Clear()
lvExpress.Items.Clear()
'新建OleDbCommand对象实例
Dim command As New OleDbCommand()
'=========填充快递公司列表==================
'要执行的SQL查询
command.CommandText = "select 运货商ID,公司名称,电话,是否删除 from 快递公司"
'设置OleDbCommand的数据连接为OleDbConnection
command.Connection = connection
'声明OleDbDataReader对象
Dim odReader As OleDbDataReader
'通过OleDbCommand的ExecuteReader方法获得OleDbDataReader对象实例。
odReader = command.ExecuteReader()
'如果OleDbDataReader中包含数据
If odReader.HasRows Then
'循环读取每一行数据,直到Read方法返回False
Do While odReader.Read
arrExpress.Add(odReader.GetValue(0))
Dim lvi As New ListViewItem(odReader.GetValue(1).ToString)
lvi.SubItems.Add(odReader.GetValue(2))
lvi.SubItems.Add(odReader.GetValue(3))
lvExpress.Items.Add(lvi)
Loop
End If
odReader.Close()
'关闭数据读取器
odReader.Close()
End Sub
Private Sub btnDel_Click(sender As Object, e As EventArgs) Handles btnDel.Click
Call delExpress("是")
End Sub
Private Sub btnRecovery_Click(sender As Object, e As EventArgs) Handles btnRecovery.Click
Call delExpress("否")
End Sub
Private Sub delExpress(ByVal isDel As String)
If lvExpress.SelectedItems.Count < 1 Then
MessageBox.Show("未选择需要删除的数据")
Exit Sub
End If
Dim ExpressID As Integer = arrExpress(lvExpress.SelectedItems(0).Index)
'从数据库中删除
'新建OleDbCommand对象实例
Dim command As New OleDbCommand()
'设置OleDbCommand的数据连接为OleDbConnection
command.Connection = connection
command.CommandText = "update 快递公司 set 是否删除='" & isDel & "' where 运货商ID=" & ExpressID
command.ExecuteNonQuery()
'从listview中删除
lvExpress.SelectedItems(0).SubItems(2).Text = isDel
End Sub
Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
Dim errMsg As String = checkData()
If errMsg <> "" Then
MessageBox.Show(errMsg)
Exit Sub
End If
'新建OleDbCommand对象实例
Dim command As New OleDbCommand()
'设置OleDbCommand的数据连接为OleDbConnection
command.Connection = connection
'公司名称
Dim expressName As String = txtName.Text.Trim
'电话号码
Dim expressTel As String = txtTel.Text.Trim
Dim sqlString As String
sqlString = "insert into 快递公司(公司名称,电话,是否删除) " &
"values('" & expressName & "','" & expressTel & "','否')"
Command.CommandText = sqlString
'不管是新增还是修改,都不用返回值,所以使用ExecuteNonQuery。
command.ExecuteNonQuery()
Call fillControls()
End Sub
'检查数据合法性
Private Function checkData() As String
If txtName.Text.Trim = "" Then
Return "公司名称不能为空"
End If
If txtTel.Text.Trim = "" Then
Return "电话号码不能为空"
End If
Return ""
End Function
Private Sub FormExpress_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
connection.Close()
End Sub
End Class
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供的参考。
学习更多vb.net知识,请参看 vb.net 教程 目录