Я делаю небольшое приложение, в котором пользователь вводит блок запросов и затем выполняет их.
Дело в том, что я хочу показать соответствующую информацию, например, если он вводит что-то вроде:
SELECT * FROM server;
UPDATE server SET name = 'Kojak';
Получает:
- Выбранные строки
- Количество строк, на которые повлияло ОБНОВЛЕНИЕ
Мой цикл печати выглядиткак:
reader = cmd.ExecuteReader();
do
{
while (reader.Read())
{
if (!(reader.RecordsAffected > 0))
{
for (int i = 0; i < reader.FieldCount; i++)
host.WriteLine("Field " + i + ": " + reader[i].ToString());
}
else {
host.WriteLine(reader.RecordsAffected.ToString() + " Affected rows.");
}
}
} while (reader.NextResult());
host.WriteLine("Block executed successfuly");
Дело в том, что мне не удается сделать различие между SELECT и UPDATE, потому что reader.Read () возвращает FALSE, когда достигает второго запроса.Как я могу решить эту проблему и получить количество затронутых строк при наличии запроса UPDATE / DELETE / INSERT?
Спасибо.