drvfn Ответов: 3

Строковый формат отличается от..


Привет

Я пытаюсь отфильтровать datatable, я использую это, и это работает:
DataRow[] rowsTarget = dt3.Select(string.Format("CodigoKitDC={0}", row["Items"]));
но теперь мне нужны остальные данные,

как я могу сделать строковый формат с другим, что-то вроде этого:
string.Format("CodigoKitDC != {0}", row["Items"]));
но это не работает.помогите пожалуйста

Что я уже пробовал:

string.Format("CodigoKitDC != {0}", row["Items"]));
string.Format("CodigoKitDC <> {0}", row["Items"]));

Kornfeld Eliyahu Peter

Что значит "не работает"?
Какая-нибудь ошибка?

3 Ответов

Рейтинг:
2

OriginalGriff

Это потому, что фильтр использует "<>" не "!=" для "не равно".
Попробуй

string.Format("CodigoKitDC <> {0}", row["Items"]));


Kornfeld Eliyahu Peter

На самом деле T-SQL знает и то, и другое != и <>...
Проблема в том, что ... Чистый слой, который знает только стандарт...

OriginalGriff

Я знаю: я упоминал SQL? :смеяться:

Рейтинг:
1

#realJSOP

Поскольку выражение находится в строковом литерале, вы должны использовать синтаксис SQL, таким образом "<>- это правильный оператор неравенства.

Фраза "но это не работает" не дает нам достаточно информации, чтобы помочь вам в дальнейшем. Поставить свой код в try/catch блок, чтобы вы могли видеть генерируемое исключение (если таковое имеется).

Перейдите сюда для получения полного списка допустимых операторов для выражения Select method. Вам нужно будет прокрутить страницу примерно до середины:

объект DataColumn.Свойство Выражения (System.Data)[^]


Kornfeld Eliyahu Peter

На самом деле T-SQL знает и то, и другое != и <>...
Проблема в том, что ... Чистый слой, который знает только стандарт...

#realJSOP

.Net не догнал sql 2008 в этом отношении.

Рейтинг:
0

F-ES Sitecore

Я погуглил "datatable select not equal", и это был первый результат

объект DataTable - в C# как я могу указать не в инструкции Select? - переполнение стека[^]

Пожалуйста, сделайте фундаментальные исследования, такие как поиск, прежде чем задавать вопрос.