Я пытался с помощью new Select найти значение и сравнить его со строкой, но столкнулся с 2 проблемами.
- Не удается преобразовать тип, даже если я его получил ( я пробовал ExecuteScalar).
- Ошибка преобразования типа, если нет найденого значения.
Как мне реализовать поиск определенного значения в таблице, его получение, проверку, существует ли этой значение и потом получить строку как результат (значение в таблице тоже хранится как строка)
Нравится
1 комментарий
8 июня 2023 16:20
Артем, добрый день!
Для проверки наличия значений вы можете использовать всё тотже dataReader, вот пример с использованием ExecuteScalar:
var result = ""; bool hasRecord = false; var select = new Select(UserConnection) .Column("CountryId") .From("City") .Where("Name").IsEqual(Column.Parameter("Sacramento")) as Select; using (DBExecutor executor = UserConnection.EnsureDBConnection()) { using (IDataReader dataReader = select.ExecuteReader(executor)) { while (dataReader.Read()) { hasRecord = true; } if (hasRecord){ result = select.ExecuteScalar<Guid>().ToString(); } } }
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать