DataTable expression Cannot interpret token '!'
Asked Answered
I

2

5

I have the following code:

//myDataTable has the following collumns: UserName, Birthday and email.
string name = "eric!";
string expression = "UserName = " + name;
DataRow[] result = myDataTable.Select(expression);

I want to select all rows with the name "eric!".
The "!" gives me the following error:

Cannot interpret token "!".

How can I select all rows with such tokens?
(I really need the "!" in the expression since I extract the userNames from a .sql file)

Imbecile answered 8/2, 2014 at 11:53 Comment(0)
K
6

You should use your name between ''. Like;

string name = "'eric!'";

Without single quotes, your DataTable.Select method thinks that ! is an operator and it is not allowed in DataColumn.Expression property as a valid operator.

From documentation;

User-Defined Values

User-defined values may be used within expressions to be compared with column values. String values should be enclosed within single quotation marks.

Karlmarxstadt answered 8/2, 2014 at 12:10 Comment(0)
P
3

You are missing quotes (' ') around your value

string name = "eric!";
string expression = "UserName = '" + name+'";
DataRow[] result = myDataTable.Select(expression);

When you write the filter operator without quotes and with !, it will consider ! as not operator that's why it gives the error.

Philanthropist answered 8/2, 2014 at 12:7 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.