0

我有一个目前没有任何内容的数据库,我正在尝试创建并保存第一条记录,但最终收到一条错误消息,提示“位置 0 处没有行”。

我所做的不是拥有一个允许用户选择发货人或接收人名称的文本框,而是将它们拉出并放入我已绑定到其他两个数据库中的适当字段的组合框(shippers.mdb和接收器.mdb)。

因此,在单击“保存”按钮时,我想将这些组合框中的选定项目(保存到字符串)保存到我想要的数据库中的每个列单元格中。但是,系统根本不允许我保存记录。我一直在试图弄清楚如何保存正在编辑或输入的“当前”记录的信息,因此出于某种原因我决定使用 (0),认为这可能有效,但似乎不正确。这是代码:

Private Sub Button16_Click_1(sender As System.Object, e As System.EventArgs) Handles Button16.Click

        Me.OrdersDataSet.orders(0).orderstatus = ComboBox13.SelectedItem.ToString()
        shipper1 = ComboBox8.SelectedItem.ToString()
        Me.OrdersDataSet.orders(0).SHIPPER1 = shipper1
        RECEIVER1 = ComboBox9.SelectedItem.ToString()
        Me.OrdersDataSet.orders(0).RECEIVER1 = RECEIVER1
        billtoacct = ComboBox7.SelectedItem.ToString()
        Me.OrdersDataSet.orders(0).BILLTOACCT = billtoacct
        driverassigned = ComboBox10.SelectedItem.ToString()
        Me.OrdersDataSet.orders(0).DRIVERASSIGNED = driverassigned
        truckassigned = ComboBox11.SelectedItem.ToString()
        Me.OrdersDataSet.orders(0).TRUCKASSIGNED = truckassigned
        trailerassigned = ComboBox12.SelectedItem.ToString()
        Me.OrdersDataSet.orders(0).TRAILERASSIGNED = trailerassigned

        Me.Validate()
        Me.OrdersBindingSource.EndEdit()
        Me.TableAdapterManager12.UpdateAll(Me.OrdersDataSet)
    End Sub

我应该改用什么,因为我似乎找不到让我保存(或替换)当前记录的组合框项目的东西?我确实在表适配器中检查了 CRUD 是否存在,并且我通过确保它已设置为填充、更新等。

谢谢你看。

4

1 回答 1

0

试一试......将所有这些放在您的按钮单击事件中并根据需要进行更改......

Dim customerOrders As DataSet = New DataSet("CustomerOrders")
Dim ordersTable As DataTable = customerOrders.Tables.Add("Orders")

'ADD YOUR COLUMNS YOU NEED TO...'
ordersTable.Columns.Add("OrderQuantity", Type.GetType("System.Int32"))
ordersTable.Columns.Add("CompanyName", Type.GetType("System.String"))

'AND WHATEVER ELSE YOU NEED TO ADD, CHANGE AS NEEDED'

    ' Add YOUR ROWS to those columns for the datatable.
ordersTable .Rows.Add(25, "Indocin")
ordersTable .Rows.Add(50, "Enebrel")
ordersTable .Rows.Add(10, "Hydralazine")
ordersTable .Rows.Add(21, "Combivent")
ordersTable .Rows.Add(100, "Dilantin")

然后,您将数据集与表和数据设置为表适配器管理器

谢谢!

于 2013-02-06T06:24:10.150 回答