См. Документацию . Оператор выбора не влияет на строки, он не вставляет, не удаляет и не обновляет строки. Таким образом, значение всегда будет 0 с выбором. Если вы хотите проверить, есть ли возвращенные записи, используйте HasRows
.
using(SqlCommand command = new SqlCommand("select * from table1 where col1 = 'YES'", conn))
{
command.CommandType = CommandType.Text;
using(SqlDataReader dr = command7.ExecuteReader()) {
if (dr.HasRows) {
}
}
}
Примечания:
- Оберните ваши экземпляры там, где реализован тип
IDisposable
в блоке using
, чтобы гарантировать, что неуправляемые ресурсы всегда высвобождаются. - Если у вас есть входные данные, которые вы хотите использовать в своих выражениях, тогда используйте параметры вместо значений жесткого кодирования. Не ясно, так ли это в данном случае, поэтому я оставил утверждение как есть.
- Если вы собираетесь читать данные обратно в считывателе, вам не следует использовать
*
, вместо этого укажите имена столбцов в ВЫБРАТЬ. Это может защитить ваш код от изменений в схеме, таких как порядок определения столбцов в таблице. Пример: SELECT col1, col2, col3 FROM table...
.