[ milan_sr @ 12.06.2012. 05:25 ] @
Treba mi ideja kako da resim ovaj problem t.e bazu. Radim na bcb 2010 sql server 2008 r2 i ADO konekciju...Radim neki jednostavni program za upisivanje fakture ili izvestaje koje upisujem po delovnoj godini. Svaka delovna godina je posebna baza u koju ima 3-4 tabele, kako bi se lakse sredilo ime svake od te baze bi bilo tipa dboDelovnaGODINA. Svaka firma koja se otvori u delovnoj godini je opet nova baza sa 2 tabele, isto da bi se lakse sredilo ime te baze bi bilo dboDelovnaGODINA_001 (za prvu, dboDelovna2012_002 za drugu firmu i.t.d). Pretpostavljam da ima sql server na tom racunaru gde se program instalira, kada se program startuje treba da proveri dali ima delovna godina otvorena, ako ima onda da proveri dali ima u toj delovnoj godini otvoreno neka firma, ako ne onda da se da mogucnost da se otvori delovna godina, u slucaj da ima delovna godina a nema firma da se da mogucnost da se otvori firma. Ja sam pokusao na nekoliko nacina to da resim ali mi nije supelo t.e uspelo je ali sa prdo upita i mnogo je glupo to sto sam odradio :S...Nakratko cu objasniti i ostavicu deo koda. Sa adoconnection se zakacim na server, na njega povezem adoquery, proverim dali ima neka baza pod to ime, ovo mi je neka funkicja koja vraca koliko zapisa se pojavilo
Code:

AnsiString Upit;
    Upit= "select *from sys.databases where name like '%dboDelovna2%'"; //da mi izlista sve baze cije ime pocinje dboDelovna2...
        ....
        ....


ako ne nadje nista daje mi mogucnost da kreiram novu bazu

Code:

//i ovo je funkcija koja kako argument prima ansistring t.e godinu
AnsiString Upit;
    Upit= "create database dboDelovna" + DelovnaGodina;
    Upit=Upit + " on( name = dboDelovna" + DelovnaGodina;
    Upit=Upit + ", filename = 'C:\\Program Files\\Microsoft SQL Server\\MSSQL10_50.MSSQLSERVER\\MSSQL\\DATA\\dboiSProfessional" + dboDelovna;
    Upit=Upit + ".mdf')";

        Form2->ADOQuery1->Close();
        Form2->ADOQuery1->SQL->Clear();
        Form2->ADOQuery1->SQL->Add(Upit);
        Form2->ADOQuery1->ExecSQL();
        Form2->ADOQuery1->Active=true;

        Upit="Use dboDelovna" + DelovnaGodina + ";";
        Upit=Upit+"CREATE TABLE tblKorisnici ( KorisnikID int NOT NULL PRIMARY KEY IDENTITY(1,1), Ime nvarchar(50), Ulica nvarchar(100) )";
        Form2->ADOQuery1->Close();
        Form2->ADOQuery1->SQL->Clear();
        Form2->ADOQuery1->SQL->Add(Upit);
        Form2->ADOQuery1->ExecSQL();
        Form2->ADOQuery1->Active=true;


Pa posle na svako citanje programa nekad procita bazu nekad ne i jos mnogoooo problecica....Ako moze neko da mi opise kako bi trebalo sve to da izgleda a ja da pokusam da to odradim? Hvala.
[ milan_sr @ 14.06.2012. 02:34 ] @
Nema li nekoja ideja kako izvedem? Samo malo kako da pocnem...