vb.net - VB.NET 和 Access 数据库
问题描述
我正在尝试同时将数据插入所有这三个表中。我有一个我调用的数据库类。我的代码如下:
'Add Parameters
DBAccess.AddParam("@clientID", txtID.Text)
DBAccess.AddParam("@firstName", txtName.Text)
DBAccess.AddParam("@lastName", txtLastName.Text)
DBAccess.AddParam("@cell", txtCell.Text)
DBAccess.AddParam("@homeTel", txtHomeTel.Text)
DBAccess.AddParam("@workTel", txtWorkTel.Text)
DBAccess.AddParam("@email", txtEmail.Text)
DBAccess.AddParam("@homeAddress", txtHomeAddress.Text)
DBAccess.AddParam("@postalAddress", txtPostalAddress.Text)
DBAccess.AddParam("@code", txtCode.Text)
'Execute Insert Command
DBAccess.ExecQuery("INSERT INTO CLIENT ([Client_ID], [First_Name], [Last_Name]) "
& VALUES (@clientID, @firstName, @lastName); ")
DBAccess.ExecQuery("INSERT INTO CONTACTS (Client_ID.C_TEL_H, Client_ID.C_TEL_W, Client_ID.C_Cell, Client_ID.C_Email) " &
"VALUES (@homeTel, @workTel, @cell, @email, SELECT @clientID FROM CLIENT); ")
'DBAccess.ExecQuery("INSERT INTO ADDRESS ([Client_ID], [Residential_A], [Postal_A], [P_Code]) " &
' "VALUES (@clientID, @homeAddress, @postalAddress, @code);
数据库类
Imports System.Data.OleDb
Public Class DatabaseControl
'Database connection
Private DBConnection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;" &
"Data Source=C:\Users\lance\Documents\BophelongCare.accdb;")
'Prepare DB Command
Private DBCommand As OleDbCommand
'DB Data
Public DBDAdapter As OleDbDataAdapter
Public DBDTable As DataTable
'Query Parameters
Public Params As New List(Of OleDbParameter)
'Query Statistics
Public RecordCount As Integer
Public Exception As String
Public Sub ExecQuery(Query As String)
'Rest query Statistics
RecordCount = 0
Exception = ""
Try
'Open Connection
DBConnection.Open()
'Create DB Command
DBCommand = New OleDbCommand(Query, DBConnection)
'Load Parameters Into DB Command
Params.ForEach(Sub(p) DBCommand.Parameters.Add(p))
'Clear Parameter List
Params.Clear()
'Execute Command & Fill DataTable
DBDTable = New DataTable
DBDAdapter = New OleDbDataAdapter(DBCommand)
RecordCount = DBDAdapter.Fill(DBDTable)
Catch ex As Exception
Exception = ex.Message
End Try
'Close Connection
If DBConnection.State = ConnectionState.Open Then DBConnection.Close()
End Sub
' Include query & Command Parameters
Public Sub AddParam(Name As String, Value As Object)
Dim NewParam As New OleDbParameter(Name, Value)
Params.Add(NewParam)
End Sub
End Class
请协助
解决方案
推荐阅读
- flutter - 在颤动中通过/显示选择芯片字符串值
- json - 为什么 Websocket 对于更大的消息和连接到服务器的更多用户的工作速度更快?
- react-native - React Native 检查虚拟化列表渲染方法错误
- cmake - 生成的 PROTOBUF_INTERNAL_EXPORT 不包括导入的子目录
- c# - 如何使用 ASP.Net Core @Html.DropDownListFor 指定默认选项?
- css - 如何使用 CSS 隐藏按钮文本?
- c++ - 为什么这个使用代码的 Y Combinator 编译失败?
- applescript - 如何修复applescript上的属性列表文件?
- azure-devops - Azure Pipelines 将 YAML 用于具有不同变量值但没有 YAML 重复的多个环境(阶段)
- powershell - 通过前后字符串缩短可变长文件名