Я пытаюсь проверить, существует ли идентификатор в базе данных, в данном случае это vetID.
Чтобы проверить, успешен ли результат запроса SQL, я пытаюсь использовать rdata.FieldCount
FieldCount всегда возвращает 11, даже если идентификатор ввода (переменная i) равен -400 (номер идентификатора, который не может существовать в базе данных). Я также пробовал использовать другие невозможные числа, например 100 или 800 (в базе данных всего 1–5 элементов)
var mySQLCommand = new SqlCeCommand("SELECT * FROM vets WHERE vetID = @ID", dbCon);
mySQLCommand.Parameters.AddWithValue("ID", i);
SqlCeDataReader rdata = mySQLCommand.ExecuteReader();
if (rdata.FieldCount >= 1)
{
MessageBox.Show(" HAS ROWS "); go = true;
}
else
{
MessageBox.Show("NO ROWS RETURNED");
}
MessageBox.Show("rdata FieldCount " + rdata.FieldCount + " i has value " + i);
Есть ли более элегантный способ проверить, что идентификатор все еще действует в базе данных и не был удален?
ОК ... прежде чем вы называете меня Глупым ... я предполагаю, что FieldCount - это как раз то, что FieldCount, а не FieldCount из возвращенного запроса ... doh ...
Но все еще остается вопрос: есть ли элегантный способ узнать, есть ли идентификатор в базе данных?