da.fill(dt)上的值不能为null

时间:2013-04-04 05:49:32

标签: sql vb.net winforms combobox

 sqlconn.Open()
    Dim da As New SqlDataAdapter("select * from tblOfficeEquipmentCategory", sqlconn)
    Dim dt As DataTable
    da.Fill(dt)
    cmbCategory.DataSource = dt
    cmbCategory.DisplayMember = "CAT_ID"
    cmbCategory.ValueMember = "CAT_NAME"
    sqlconn.Close()

返回指向da.fill(dt)的错误

抛出运行时异常:System.ArgumentNullException - 值不能为null。

3 个答案:

答案 0 :(得分:2)

您应该为DataTable分配new个关键字:

Dim dt As New DataTable()

答案 1 :(得分:2)

Dim da As New SqlDataAdapter("select * from tblOfficeEquipmentCategory", sqlconn)
    Dim dt As NEW DataTable
    da.Fill(dt)

如果没有NEW,您的数据就没有存储位置,因为您只是变量而不是获取表单。

<强>更新

除此之外,我发现您的数据不会显示,并且会出现执行错误。

oledbcommand.executenonquery()之前的sqlconn.close相似,但我没有看到您的命令代码。

sqlconn.Open()
    Dim da As New SqlDataAdapter("select * from tblOfficeEquipmentCategory", sqlconn)
    Dim dt As DataTable
    da.Fill(dt)
    cmbCategory.DataSource = dt
    cmbCategory.DisplayMember = "CAT_ID"
    cmbCategory.ValueMember = "CAT_NAME"
oledbcommand.executenonquery()<<<< HERE
    sqlconn.Close()

答案 2 :(得分:1)

sqlconn.Open()
    Dim da As New SqlDataAdapter("select * from tblOfficeEquipmentCategory", sqlconn)
    Dim dt As New DataTable
    da.Fill(dt)
    cmbCategory.DataSource = dt
    cmbCategory.DisplayMember = "CAT_NAME"
    cmbCategory.ValueMember = "CAT_ID"
    sqlconn.Close()

现在正在工作,感谢您的答案,我刚刚重新分配了显示成员和价值成员

它不返回无法绑定到值成员错误