Я пытался с помощью 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();
}
}
}
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать