我正在设计一个windows用户窗体。您可以看到表格here,问题是绝大多数文本框永远不会填充数据。我试图使用表单顶部的按钮来“浏览”数据库并添加,修改和删除记录。多表的绑定按钮
我似乎没有正确的SQL查询来抓取不同表格中的所有数据,我的DataAdapter
可以将它发送到表单。我正在寻找帮助来生成正确的查询并将数据传递给表单。你可以看到数据库的构成here。如果任何人都可以帮助我,那就太棒了。
该表单的代码如下。
Imports System.Data.OleDb
Public Class DeviceEditorForm
Dim tabletDataAdapter As OleDbDataAdapter
Dim tabletDataSet As DataSet
Private Sub DeviceEditorForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Me.DeviceTableAdapter.Fill(Me.BIT_3444_DatabaseDataSet.Device)
Dim sqlStatement As String = "select * from Device"
Dim tabletConnectionStr As String = "provider=microsoft.ace.oledb.12.0;data source=" & Application.StartupPath & "\BIT 3444 Database.accdb"
tabletDataAdapter = New OleDbDataAdapter(sqlStatement, tabletConnectionStr)
tabletDataSet = New DataSet
tabletDataAdapter.Fill(tabletDataSet, "Device")
DeviceBindingSource.DataSource = tabletDataSet.Tables(0)
BindingNavigator1.BindingSource = DeviceBindingSource
Dim batterySizeBinding As New Binding("text", DeviceBindingSource, "Battery_Size")
BatterySizeTextBox.DataBindings.Add(batterySizeBinding)
Dim IDBinding As New Binding("text", DeviceBindingSource, "ID")
DeviceIdTextBox.DataBindings.Add(IDBinding)
Dim nameBinding As New Binding("text", DeviceBindingSource, "Device_Name")
DeviceNameTextBox.DataBindings.Add(nameBinding)
Dim manufacturerBinding As New Binding("text", DeviceBindingSource, "Manufacturer")
ManufacturerTextBox.DataBindings.Add(manufacturerBinding)
Dim modelYearBinding As New Binding("text", DeviceBindingSource, "Model_Year")
ModelYearTextBox.DataBindings.Add(modelYearBinding)
Dim osBinding As New Binding("text", DeviceBindingSource, "Operating_System")
OperatingSystemTextBox.DataBindings.Add(osBinding)
Dim osVersionBinding As New Binding("text", DeviceBindingSource, "Operating_System_Version")
OsVersionTextBox.DataBindings.Add(osVersionBinding)
Dim priceBinding As New Binding("text", DeviceBindingSource, "Price")
PriceTextBox.DataBindings.Add(priceBinding)
End Sub
Private Sub ToolStripButton1_Click(sender As System.Object, e As System.EventArgs) Handles ToolStripButton1.Click
DeviceBindingSource.EndEdit()
Dim tabletCommandBuilder As New OleDbCommandBuilder(tabletDataAdapter)
tabletDataAdapter.InsertCommand = tabletCommandBuilder.GetInsertCommand()
tabletDataAdapter.DeleteCommand = tabletCommandBuilder.GetDeleteCommand()
tabletDataAdapter.UpdateCommand = tabletCommandBuilder.GetUpdateCommand()
Dim numOfRecords As Integer = tabletDataAdapter.Update(tabletDataSet, "Device")
MsgBox(numOfRecords & " records have been updated.")
End Sub
End Class
谢谢我承诺你推荐的更改,但现在我的绑定添加项目和删除按钮不起作用我收到一个SQL错误 – Matt 2013-04-29 01:07:08