Вот пример кода, который некорректно выполняется
cmd = conn.CreateCommand();
cmd.CommandText = "SELECT @s FROM Cars";
cmd.Parameters.Add("@s", DbType.String).Value = "Id";
r = cmd.ExecuteReader();
while (r.Read())
{
MessageBox.Show(r.GetValue(0).ToString());
//MessageBox.Show(r["Id"].ToString());
}
r.Close();
Запрос возвращает строку "Id" пять раз (по количеству записей в таблице), а должен, очевидно, вывести:
1
2
3
4
5
Если раскомментировать вторую строчку, выскакивает ошибка IndexOutOfBoundsException.
В чём может быть причина?