【问题标题】:DataTable Select(String) Function Help VB .NETDataTable Select(String) 函数帮助 VB .NET
【发布时间】:2011-06-21 14:39:41
【问题描述】:

我制作了一个包含 2 列的数据表,一个 transactionTime 列和一个 numberOfTransactions 列。我用预定义的事务时间制作了表格,并希望从 XML 文件中添加事务数。我已经完成了 XML 文件并希望将数据添加到正确的行。这是函数:

Function AddRow(ByVal timeOfTransaction As String, ByVal numberOfTransactions As String, ByRef dataTableOfTransactions As DataTable) As String


    Dim row() As DataRow = dataTableOfTransactions.Select("transactionTime = timeOfTransaction")

    If row(0) IsNot Nothing Then
        row(0)("numberOfTransactions") = numberOfTransactions

    End If
    Return Nothing

End Function

当我运行它时,它会覆盖表的 numberOfTransactions 列中的第一个元素。我知道它与“transactionTime = timeOfTransaction”部分有关,但我似乎无法让它读取 timeOfTransaction 作为对字符串而不是文字的引用。任何帮助将非常感激。谢谢!

【问题讨论】:

    标签: vb.net select datatable


    【解决方案1】:

    你需要这样写:

    Dim row() As DataRow = dataTableOfTransactions.Select("transactionTime=#" & timeOfTransaction & "#")
    

    但请注意您的日期/月份或月份/日期格式,这取决于您的区域设置。

    【讨论】:

    • timeOfTransation 是字符串而不是日期。
    【解决方案2】:
    row(0)("numberOfTransactions") = numberOfTransactions
    

    您正在告诉程序用事务数覆盖该值。

    如果你想要那个值,你需要设置它,而不是设置它。

    另外,如果您希望您的选择正常工作,请尝试这样做

    dataTableOfTransactions.Select("transactionTime = " + timeOfTransaction)
    

    【讨论】:

    • 在程序开始时,没有任何 numberOfTransactions 列被填充,所以我确实希望它们在第一次被覆盖。我也尝试了你建议的选择,它说“'With'运算符后缺少操作数。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2012-02-24
    • 2018-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多