Oracle.OracleClass Ora = new Oracle.OracleClass();
public partial class Form1 : Form {
Oracle.OracleClass Ora = new Oracle.OracleClass(); ... ...
og opretter forbindelse private void Form1_Load(object sender, EventArgs e) {
// connect til oracle. Ora.DbConnect();
Men.. nu åbner jeg så en en ny form der har 5 usercontrols som alle skal bruge forbindelsen, jeg kan selvfølgeligt bare oprette forbindelsen igen fra usercontrols, men det giver jo så ialt 6 connection til Oracle.
I PowerBuilder (som er mit primære prog sprog) har man nogle globale variabler som bruges til f.eks databaseforbindelser ol.
@Buzzzz,Singleton, er det det med at lægge den i program.cs ?
@Arne, jeg er 1000% sikker på du har ret mht exceptions, men jeg ved ikke hvordan jeg ellers skal gøre.
Eksemplet med DbConnect, funktionen returnerer -1 ved fejl og 1 ved succes, men derfra hvor jeg kalder funktionen vil jeg gerne have mulighed for at vise fejlkoden fra Oracle (tns name could not be resolved osv.)
Mit funktionskald i Form1: // connect til Oracle. if (Ora.DbConnect() < 0) { MessageBox.Show("Could not connect to Oracle:\n\n" + Ora.GetLastError(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); };
Funktionen i Oracleklassen: public int DbConnect() { //opret forbindelse til Oracle try { cnOra.Open(); } catch (Exception ex) { OraErr = ex.Message; return -1; } return 1; }
Arne, den med at catche i kaldet er jo så simpel at det er pinligt.... sorry ;-)
Rent resourcemæssigt lærte jeg engang (hvor ram ikke var ad libitum) at man skulle tænke på hvor meget man instancierede. Er det ikke nødvendigt mere ? Denne app skal køre på en alm workstation med win7.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.