ошибка выражения столбца данных - PullRequest
1 голос
/ 07 февраля 2012

Я получаю синтаксическую ошибку "Отсутствует операнд после оператора 'Price'" со следующим кодом, который должен быть правильным, но, очевидно, нет.Есть мысли о том, где ошибка?

    table.Columns.Add("ADR Price", GetType(Double))
    table.Columns.Add("ORD Price", GetType(Double))
    table.Columns.Add("Currency Price", GetType(Double))
    Dim cDiff As DataColumn = New DataColumn
    With cDiff
        .DataType = System.Type.GetType("System.Double")
        .ColumnName = "Difference"
        .Expression = "ADR Price - (ORD Price * Currency Price)"
    End With
    table.Columns.Add(cDiff)

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

Я довольно уверен, что исключение вызвано пробелами в именах столбцов.

Вы должны заключить имена в квадратные скобки или удалить пробелы:

.Expression = "[ADR Price] - ([ORD Price] * [Currency Price])"

Но тогда следующий, вероятно, попадет в эту ловушку.Так что, по моему мнению, удаление будет лучше:

.Expression = "ADR_Price - (ORD_Price * Currency_Price)"
0 голосов
/ 07 февраля 2012

Эта ошибка возникает из-за апострофа в значении (').Проверьте, содержит ли значение цены апостроф, если оно есть, просто удвойте его.

См. Ссылку: http://aspnetresources.com/blog/apostrophe_in_rowfilter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...