VB位置0没有行

时间:2013-02-05 18:54:33

标签: vb.net data-binding

我有一个当前没有任何内容的数据库,我正在尝试创建并保存第一条记录,但最终得到一条错误,上面写着“位置0处没有行”。

我所做的不是拥有一个允许用户选择托运人或收件人名称的文本框,而是将其取出并放入我已绑定到另外两个数据库中相应字段的组合框中( shippers.mdb和receivers.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是否存在,并且我确保将其设置为填充,更新等。

感谢您一看。

1 个答案:

答案 0 :(得分: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")

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

谢谢!