Вашият код за достъп до данни обикновено трябва да изглежда така:
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
обект от вашия оригинален код, но само след като сте приключили напълно с него от предишната команда. Също така е добре да отворите две връзки, ако имате нужда от тях. Най-добрият опция обаче е да комбинирате свързани заявки в един sql оператор, когато е възможно.