Ваш код доступа к данным обычно должен выглядеть следующим образом:
string sql = "SELECT * FROM Employee e INNER JOIN Clock_History c ON c.Badge = e.Badge WHERE e.Badge = @BadgeID";
using (var cn = new OracleConnection("your connection string here"))
using (var cmd = new OracleCommand(sql, cn))
{
cmd.Parameters.Add("@BadgeID", OracleDbType.Int).Value = Badge;
cn.Open();
xHoursGridView.DataSource = cmd.ExecuteReader();
xHoursGridView.DataBind();
}
Обратите внимание, что это всего лишь общий шаблон.Вы захотите настроить его под свои нужды.Важными вещами, которые следует извлечь из этого, являются блоки using
для правильного создания и утилизации объекта подключения и параметр для защиты от внедрения SQL.
Что касается вопроса о подключении, существуют исключения, но обычно выиспользуйте соединение для одного активного набора результатов за раз.Таким образом, вы можете повторно использовать тот же объект conn
из исходного кода, но только после того, как вы полностью закончили с ним из предыдущей команды.Также можно открыть два соединения, если они вам нужны.Тем не менее, best опция заключается в объединении связанных запросов в один SQL-оператор, когда это возможно.