Problem sa Connection string-om

Problem sa Connection string-om

offline
  • Pridružio: 24 Maj 2005
  • Poruke: 11

Pitanje je vezano za problem sa Connection string-om.

Program, u kratkim crtama, kopira podatke iz pojedinacnih Access baza u jednu zajednicku.Kad sam razvijao program baze sam drzao u jednom folderu i sve je radilo OK. Onda sam hteo da, posto ima puno baza iz kojih se kopiraju podaci, korisnik otvara svaku bazu pojedinacno pri cemu, naravno, se odgovarajuci Connection string menja kao

ADODataSet1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=' + OpenDialog1.FileName;

Jednu bazu sam vezao za jedan DataSet i ta baze se ne menja, a drugu za drugi i ona ima promenljivu putanju koja se podesava pomocu Open dialog-a.
Problem se javlja tako sto kad ja ucitam bazu, menja se i putanja za drugi connection string iako je on postavljen kao konstantan, ali program trazi i drugu bazu u folderu u kojoj se nalazi novootvorena kao da postoji neka globalna putanja koja se menja ovom promenom Connection string-a prvog DataSet-a, tj. biranjem baze u Open dialog-u.

Znaci, da li je neki bug u pitanju ili verujem moje neznanje ali ne mogu da postavim dva razlicita connection string-a za baze iz razlicitih foldera ako drugi Connection string postavljam na nacin gore pokazan. Ovo se ne desava ako postavim konstantne Connection string-ove na baze iz razlicitih foldera.



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Kada OpenDialog.Execute vrati True (korisnik izabere fajl), trenutni radni folder se menja na onaj u kojem se nalazi otvoren fajl.

Veoavtno si u ConnectionString za prvu bazu postavio samo relativnu putanju do baze. Kada izaberes drugu bazu, trenutni radni folder se menja, apsolutna putanja koju Delphi izracuna na osnovu relativne putanje koju si dao vise nije ista i verovatno ti se zato pojavljuje greska.

Mozda nisam bas najbolje razumeo sta trazis, ali mi se cini kao da je to problem.



offline
  • Pridružio: 24 Maj 2005
  • Poruke: 11

Da, to je problem samo kao jedino resenje mi sada pada na pamet da dobijem prilikom pokretanja programa njegovu trenutnu putanju.

Znaci pitanje broj dva, kojom funkcijom mogu da dobijem radni folder programa. Hvala.

Dopuna: 25 Apr 2007 12:20

Nasao sam. F-ja je GetCurrentDir. Hvala na pomoci.

offline
  • Pridružio: 08 Jan 2007
  • Poruke: 279
  • Gde živiš: Srbija

Postavi TADOConnection, TADOQuery, TDataDource, TDBGrid.
Onda:
 OpenDialog1.Filter:= 'AccessDB Name |*.mdb';   if OpenDialog1.Execute then    if OpenDialog1.FileName <> '' then     begin      ADOConnection1.Connected:= false;         ADOConnection1.ConnectionString:= 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + OpenDialog1.FileName + ';Persist Security Info=False';      ADOConnection1.LoginPrompt:= false;      ADOQuery1.Close;      ADOQuery1.SQL.Clear;      ADOQuery1.SQL.Add('select * from korisnici');      ADOQuery1.Prepared:= true;      ADOQuery1.Open;      DataSource1.DataSet:= ADOQuery1;      DBGrid1.DataSource:= DataSource1;      ADOConnection1.Connected:= true;          end;
Za primer sam napravio tabelu "korisnici". Kad učitavaš drugi .mdb fajl, moraš napraviti select upit za tabele koje ti iz tog fajla trebaju.

BTW, izmenio sam. A post koji je vladisha postovao jeste malo nejasan.

offline
  • srdjos  Male
  • Zaslužni građanin
  • Pridružio: 27 Sep 2005
  • Poruke: 678

@vladisha
hm, malo si konfuzno postovao problem
ono gore mi lici da brljavis sa promenjivima

pogledaj da li menjas connection string dok je konekcija
aktivna, ako to radis, naravno da ce ti traziti drugu bazu


@loshmi_sr
pre svega
prvo konekciju zatvori (Connected := False)
onda lepo obradi sve parametre i stavi je na True

offline
  • Pridružio: 24 Maj 2005
  • Poruke: 11

Srki je resio problem. Fora je bila da mi je putanja ka bazi bila relativna, a nisam znao da izbor u Open dialog-u menja radni folder. To je bio problem. Hvala u svakom slucaju, a otprilike moja zelja da u sto manje reci objasnim problem nosi sa sobom sasvim suprotan efekat.

offline
  • srdjos  Male
  • Zaslužni građanin
  • Pridružio: 27 Sep 2005
  • Poruke: 678

jedno je reći malo reči
a drugo je koncizno reći šta želiš

Smile

Ko je trenutno na forumu
 

Ukupno su 998 korisnika na forumu :: 16 registrovanih, 3 sakrivenih i 979 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Battlehammer, brundo65, comi_pfc, Dimitrise93, DonRumataEstorski, dragoljub11987, flash12, Kenanjoz, Krvava Devetka, mikki jons, novator, radionica1, saputnik plavetnila, sasa76, slonic_tonic, Srle993