[ refa @ 18.06.2006. 23:29 ] @
ovako radim projekat s C# i oracle sql serverom, pravim aplikaciju u kojoj mi je obavezno da imam jednu konekcijsku formu na bazu podataka kako bi se aplikacija nakacila, to sam odradio, medjutim drugi dio je da napravim nesto poput nekog script editora u kome se mogu kucati sql naredbe i hvatati rezultati sa servera i to je odradjeno.
Problem je to sto nemogu konekcioni string koji koristim za konektovanje proslijediti iz login forme u ovu sql scriptnu
jer nakon logovanja zatvara mi se ta login forma i otvara mdiForma koja sadrzi ostale dzigabeze ukljucujuci i ovu formu.
Dali je uopce moguce dakle username i password iz login forme, koja se nakon klika na connect zatvara sa this.close(); moze proslijediti u drugu formu???
hvala
[ Ognjen_NS @ 18.06.2006. 23:57 ] @
postavis u klasi login

public string ime;
public string pass;

zatim u click metodi iste klase
Code:

          ime = textBoxUserName.Text;
         pass = textBoxPassword.Text;


onda u drugoj klasi definishesh globalne prtomenljive
public string GlavnaIme;
public string GlavnaPass;

pa onda nakon klika u metod za pozivanje logina :

Code:

            LogIN login = new LogIN();
            
            login.ShowDialog();
           
           GlavnaIme  = login.ime;
           GlavnaPass = login.pass;


Valjda je to to, sto si trazio
[ Oliver Klaćik @ 19.06.2006. 10:02 ] @
Ja u tom slučaju, uglavnom, napravim klasu u root namespace-u aplikacije i u njenim shared (static) poljima čuvam sve vrednosti koje ne želim da stavljam u application settings.
[ mmix @ 19.06.2006. 15:04 ] @
Iskoristi ono sto ti je Oliver rekao, ili iskoristi singleton pattern da kreiras globalni objekat koji ce ti covati ovakve informacije...

[ refa @ 19.06.2006. 16:19 ] @
ok to radi, no sad imam problem tipa formi.
evo o cemu je zapravo rijec.
imam dvije forme koje su imenovane kao "login.cs" i "main.cs"
prvo se pogrece forma login.cs nesto poput windowsovog dialup terminala u nju dakle unesem username i pass
i sacuvam u public varijable username i password.
########################
public main f2 = new main();
f2.username = txtUsername.Text;
f2.password = txtPassword.Text;
f2.show();
this.close();
########################

to je problematicni dio koda, naime ukoliko zatvorim formu login.cs sa this.close automatski se zatvara i f2, tj main forma jer je ona tretirana kao dijete, ako stavim this.hide(); isto se sakrije i forma main, kako da nakon klika na connect formu login.cs ucinim nevidljivom ili ugasim je a nastavim radit sa mdi formom main.cs
da josh nesto ukoliko zatvorim formu login.cs uposte se stringovi username i password ne prekopiraju u main.cs to sam testiro.
korisitm visual studio 2005 //nije beta verzija
hvala unaprijed
[ Oliver Klaćik @ 19.06.2006. 16:59 ] @
Formu Login napravi i prikaži u Load događaju forme Main (ili čak konstruktoru), tako da ti Main forma, zaista i bude 'Main' forma, a Login da bude njen child. Onda kada user zatvori Login formu, forma Main nastavlja učitavanje (naravno, ako Login formu prikažeš sa ShowDialog).
[ refa @ 19.06.2006. 18:19 ] @
okk hvala rijesio sam
najbolji ste :)
[ sstanko78 @ 20.06.2006. 09:31 ] @
Za podesavanja, login informacije konekcione stringove i sl.,
mozes da upotrebis singleton pattern http://en.wikipedia.org/wiki/Singleton_pattern
To ti je nesto kao objekat koji se moze instancirati samo jednom , a moze se
"dohvatiti" bilo gde iz tvog programa.

Primer

Code:

public sealed class Singleton
{
    static readonly Singleton instance=new Singleton();

    // Explicit static constructor to tell C# compiler
    // not to mark type as beforefieldinit
    static Singleton()
    {
    }

    Singleton()
    {
    }

    public static Singleton Instance
    {
        get
        {
            return instance;
        }
    }
}
[ spectra @ 20.06.2006. 13:23 ] @
refa: "okk hvala rijesio sam
najbolji ste :)"

Dobra je praksa da se prikaze rjesenje problema.