Uw gegevenstoegangscode zou er over het algemeen als volgt uit moeten zien:
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();
}
Merk op dat dit slechts de algemene sjabloon is. U zult het wat willen aanpassen aan uw exacte behoeften. De belangrijkste dingen om hieruit te halen zijn het using
blokken om uw verbindingsobject correct te maken en te verwijderen en de parameter om te beschermen tegen sql-injectie.
Wat betreft de verbindingsvraag, er zijn uitzonderingen, maar u kunt een verbinding doorgaans slechts voor één actieve resultaatset tegelijk gebruiken. Dus je zou hergebruik dezelfde conn
object uit je originele code, maar pas nadat je er helemaal klaar mee bent met de vorige opdracht. Het is ook prima om twee verbindingen te openen als je ze nodig hebt. De beste optie is echter om, indien mogelijk, gerelateerde zoekopdrachten te combineren in een enkele SQL-instructie.