Ihr Datenzugriffscode sollte im Allgemeinen so aussehen:
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();
}
Beachten Sie, dass dies nur die allgemeine Vorlage ist. Sie werden es für Ihre genauen Bedürfnisse anpassen wollen. Die wichtigen Dinge, die man daraus mitnehmen sollte, sind die using
blockiert, um Ihr Verbindungsobjekt ordnungsgemäß zu erstellen und zu entfernen, und den Parameter zum Schutz vor SQL-Injection.
Was die Verbindungsfrage betrifft, gibt es Ausnahmen, aber Sie können eine Verbindung normalerweise nur für jeweils eine aktive Ergebnismenge verwenden. Sie könnten es also denselben conn
wiederverwenden Objekt aus Ihrem ursprünglichen Code, aber erst, nachdem Sie es mit dem vorherigen Befehl vollständig abgeschlossen haben. Es ist auch in Ordnung, zwei Verbindungen zu öffnen, wenn Sie sie brauchen. Das Beste Die Option besteht jedoch darin, verwandte Abfragen nach Möglichkeit in einer einzigen SQL-Anweisung zu kombinieren.