2013-07-01 2 views
0

У меня есть следующее выражение, которое принимает переданное значение strValue и Selects из массива DataRow;Как использовать переданное значение в выражении

expression = "InvoiceDate='" + strValue + "'"; //value in Locals window = "InvoiceDate='05/28/2013'" 

Я попытался передать имя столбца в качестве значения также с этим;

expression = "'" + strExpression + "'" + strValue + "'"; //value in Locals window = "InvoiceDate='05/28/2013'" 

DataRow[] returnedRows; 
returnedRows = theDataConn.DataSet.Tables["Invoices"].Select(expression); //Error 

который возвращает «Синтаксическая ошибка: Отсутствует операнд после того, как„05“оператора»

Значение в окне местных жителей это то же самое ?? Что я здесь отсутствует

ответ

1

Попробуйте с этим?

expression = strExpression + " = '" + strValue + "'"; 

Обратите внимание, что я удалил ' перед тем strExpression и добавил =

Или используйте string.Format(). Повышает читаемость, что помогает избежать опечаток, как те, у вас есть на вашем коде

expression = string.Format("{0}='{1}'", strExpression, strValue); 
+0

Кроме того, @KFP следует отметить, что конкатенация никогда не является хорошей идеей за очень простых случаях (две строки конкатенации). –

Смежные вопросы