Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ODBC Database programiranje

[es] :: C/C++ programiranje :: ODBC Database programiranje

[ Pregleda: 2878 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon ODBC Database programiranje30.05.2005. u 14:53 - pre 206 meseci
Situacija je ovakva: Odem u Control Panel / Amdinistrative Tools / ODBC datasources i tamo registriram novu Access bazu sa access mdb driverom. Nakon toga, odem u Borland C++ Builder 5.0 i uzmem objekt TTable te odaberem registriranu bazu podataka, a dole odaberem tablicu sa kojom zelim raditi.

Sve je ok i sve sljaka, no pitanje je kako da ja unutar tog istog Borland C++ Builder-a mogu automatski registrirati neku Access bazu tako da ne moram ici u Control Panel /..... i rucno to raditi. Znam da u objektu TSession postoji funkcija AddDriver, no ne znam kako ju koristiti. Je li mozda rijec o Aliasu? Hvala
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4890
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+634 Profil

icon Re: ODBC Database programiranje30.05.2005. u 15:14 - pre 206 meseci
Borland C++ Builder besprekorno barata sa MS ACCESS bazama podataka,
ali pre svega ako koristis ADO komponente a ne BDE koponente.

Tj, koristi TADOTable, i sl., umesto TTable... Ovo ti toplo preporučujem, jer
BDE ima puno bagova kada radiš sa BDE.

Kada koristiš ADO neće ti trebati ODBC (ako ga baš nećeš) jer bazama možeš da
pristupaš i direktno.

Ako ipak hoćeš da koristiš ODBC i dinamički kreiraš ODBC konekciju, onda potraži
na netu:

SQLConfigDataSource


... znam da ima "more" primera kako se to radi, jer sam i sam učio iz njih.

Inače ja sam "davno" razvio i ceo modul koji to radi za tebe, proverava da li imaš
Admin prava da bi mogao da napraviš konekcju, proverava da li ODBC koji je već
napravljen pokazuje na bazu ili je "mrtav" link i sl, takođe sam predvideo da
definišeš default lokaciju za bazu, pa da te program ništa ne pita ako nema ODBC-a
i da ga sam napravi i sl.

Ceo modul ću ti zapakovati, a ti probaj da se snađeš, jer modul ima i nekih drugih
modula koje koristi (neki moji posebni message box-ovi)...

P.S. kako se ovde "kače" fajlovi ;) ? Nisam nikad...

Evo našao sam, mora prvo da se snimi, pa tek onda...
Prikačeni fajlovi
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: ODBC Database programiranje30.05.2005. u 15:17 - pre 206 meseci
Nemoj zezati?

Zelis reci da ja mogu direktno sa ADO komponentama pristupiti bilo kojoj Access bazi (koja je u radnom direktoriju), te se na nju spojiti bez da mi treba ODBC? Kako?
Samo odaberem fajl?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4890
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+634 Profil

icon Re: ODBC Database programiranje30.05.2005. u 15:38 - pre 206 meseci
KOD ADO KOMPONENATA:
Imaš atribut "ConnectionString" i uz njega Wizard koji ga pravi, a možeš i ručno
da ga napraviš (to je običan string). To metodom možeš bez ODBC-a i BDE-a da
pristupaš MS ACCESS bazama kako god voliš.

Nađi taj Wizard pa izaberi iz liste: Microsoft JET4.0 DB OLE Provider, ...

P.S. kada ti se "otvore" vidici videćeš kako se istom metodom lako "čita" i Excel
itd...



 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: ODBC Database programiranje31.05.2005. u 08:49 - pre 206 meseci
Sve ovo sto si ti napisao za ADO objekte radi i uspjesno sam se spojio na Access bazu, te pristupio tablici u prikazao ju u TADOTable objektu.

Medjutim:
Kada odem na zadnji zapis u tablici i stisnem strelicu za dole (da mi se pojavi novo prazno polje za unos novog zapisa) sve ce raditi ukoliko zaista unesem novi zapis. Ali ako stisnem strelicu prema dole, a zatim odustanem od novog zapisa javi mi gresku da ne moze napraviti "Trazenu operaciju" jer se doslo do BOF i EOF. Znam sto to znaci, no ne znam kako to izbjeci, a da ne moram pisati zasebne forme pa rucno raditi Insert tj. Append?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4890
*.ptt.yu.

Jabber: xfiles@elitesecurity.org


+634 Profil

icon Re: ODBC Database programiranje31.05.2005. u 09:11 - pre 206 meseci
Citat:

Sve ovo sto si ti napisao za ADO objekte radi i uspjesno sam se spojio na
Access bazu, te pristupio tablici u prikazao ju u TADOTable objektu.

OK. Samo da te podsetim da ConnectionString mozes da napravis i rucno, po
uzoru na Wizard, pri cemu mozes da mu na kljucnim mestima za putanju zadas
Code:

ExtractFilePath ( ParamStr(0) ) + "\\mojabaza.mdb";

da bi ti baza radila u bilo kom folderu kada prenosis program....

Citat:

Medjutim:
Kada odem na zadnji zapis u tablici [...]

Pretpostavljam da mislis na DBGrid?

Citat:

[...]i stisnem strelicu za dole (da mi se pojavi novo prazno polje za unos novog
zapisa) sve ce raditi ukoliko zaista unesem novi zapis. Ali ako stisnem strelicu
prema dole, a zatim odustanem od novog zapisa javi mi gresku da ne moze
napraviti "Trazenu operaciju" jer se doslo do BOF i EOF. Znam sto to znaci, no
ne znam kako to izbjeci, a da ne moram pisati zasebne forme pa rucno raditi Insert
tj. Append?

Ne.
Evo ovako:
Kad god radis bilo kakav Post/Delete i sl, treba da imas nekakvu kontrolu greske,
koja moze biti uzrokovana narusavanjem referencijalnog integriteta, pokusajem
upisa praznog sloga, i sl.
Sve ADO kontrole vec u sebi imaju sve sto ti je potrbno za to, i to u vidu
dogadjaja:

Code:

OnPostError()
OnDeleteError()
itd...

Tako, na primer, ako si DBGrid povezao sa TADOTable (ili TADOQuery) idi u listu
dogadjaja za tu tabelu (ili upit) i pogledaj ove dogadjaje koje sam ti naveo.
Naravno, pogledaj i ostalo.

E sad, da bi sprecio SISTEMSKU PORUKU O GRESCI, mozes da kazes /pseudo kod/
Code:

// NETESTIRANO - IZ GLAVE ;)
OnNekaTabelaPostError()
{
   Action = daAbort; // <--- OVO SPRECAVA PORUKU O GRESCI
   // ... itd ...



E sad, kako ces korisniku da kazes sta se desilo, to ce verovatno biti tvoje
sledece pitanje kada ovo apsorbujes ;)


 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: ODBC Database programiranje31.05.2005. u 09:29 - pre 206 meseci
Da, vidio sam to, ali nisam znao koju konstantu da dodijelim izrazu Action...
Nije problem za ispis poruke o gresci. Hvala
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: ODBC Database programiranje02.06.2005. u 15:44 - pre 206 meseci
Ne radi mi to sa daAbort. I u help-u pise da se operacija treba odgoditi i poruka da se ne bi trebala prikazait, no ipak stvar je ista...

Ajd molim te pokusaj vidjeti u cemu je stvar pa mi javi. Ne bih bas htio petljati sa ODBC-om i sl...
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4890
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+634 Profil

icon Re: ODBC Database programiranje02.06.2005. u 16:22 - pre 206 meseci
Startuj program van IDE-a!

Ako si to vec probao, onda obrisi *sve* OBJ, TDS, ~.*~ fajlove, Build-uj
projekat i probaj ponovo!

Radice sigurno.

P.S. Proveri takodje *gde* si stavio kod za dogadjaj (lako se pogresi)...
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: ODBC Database programiranje06.06.2005. u 10:45 - pre 206 meseci
Skuzio sam u cemu je rijec. Koristio sam Borland C++ Builder 5.0, a u njemu se pri radu sa TADOTable objektom uvijek javlja ta greska, bez obzira definirao ja OnPostError ili ne. U Borland C++ Builderu 6.0 ta se greska ne pojavljuje i nije ni potrebno dodavati kod za kontrolu pogreske (osim ako bas hocete).
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: ODBC Database programiranje13.06.2005. u 12:50 - pre 206 meseci
Ja cu opet biti dosadan pa da pitam nesto...

Naime, kreiram Access bazu i zastitim ju passwordom. Taj password predam u ConnectionString, ali prilikom spajanja na tu bazu uvijek mi javi gresku da je baza vec ekskluzivno otvorena ili nesto u svezi radne grupe... Kada maknem password tada sve radi. U cemu je problem? Zelim staviti password i da to radi.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4890
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+634 Profil

icon Re: ODBC Database programiranje13.06.2005. u 19:39 - pre 206 meseci
Code:

Naime, kreiram Access bazu i zastitim ju passwordom. Taj password predam u
ConnectionString, ali prilikom spajanja na tu bazu uvijek mi javi gresku da je baza
vec ekskluzivno otvorena ili nesto u svezi radne grupe... Kada maknem password
tada sve radi. U cemu je problem? Zelim staviti password i da to radi. 


Zavisi gde si upisao password. Dakle, kada "pravis" ConnectionString sa
Wizardom onda prvo odaberes onaj JET4.0, pa idi na (čini mi se) tab "All". E tu
bi trebalo da imas nesto kao "Jet OLDB: Database Password", onda kliknes dvaput
i upises taj tvoj Password.

Pazi, u tom wizardu,ako se secam ima jos jedno mesto za nekakav password ali taj
drugi nije potreban...
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: ODBC Database programiranje16.06.2005. u 13:26 - pre 206 meseci
Upalilo je, ali zaista nevjerovatno gdje su oni to stvaili. Uopce ne vidim zasto onda sluzi onaj prvi password (na kojemu su i stavili da je rijec o Database passwordu). Al ajd dobro. Hvala
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4890
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+634 Profil

icon Re: ODBC Database programiranje16.06.2005. u 14:45 - pre 206 meseci
Citat:

Upalilo je, ali zaista nevjerovatno gdje su oni to stvaili. Uopce ne vidim zasto onda
sluzi onaj prvi password (na kojemu su i stavili da je rijec o Database passwordu).
Al ajd dobro. Hvala

Koliko mi je poznato, to uopste nije Borlandov dijalog. To je neki Majkrosoftov
klasicni ADO Wizzard. Cini mi se da je isti (samo malo prosiren) i kod .NET studija.

Dobro je da imas nekoga ko se macevao sa time ranije, pa ti moze pomoci ;)
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: ODBC Database programiranje17.06.2005. u 17:57 - pre 206 meseci
Fala, fala
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4890
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+634 Profil

icon Re: ODBC Database programiranje17.06.2005. u 19:05 - pre 206 meseci
Citat:

Fala, fala

Nema na cemu. Evo ipak se ponovo macujem sa BCB/ADO/MS ACCESS...

Treba preko vikenda da napravim neki program za manipulaciju podacima na
nekoj izlozbi pasa u Crnoj Gori...
 
Odgovor na temu

itf
Zagreb

Član broj: 59794
Poruke: 993
*.fsb.hr.



+9 Profil

icon Re: ODBC Database programiranje20.06.2005. u 08:24 - pre 205 meseci
Ja radim za diplomski skolski imenik. Imam oko 6 relacija na 7 tablica u Accessu i cesto mi ne radi Join(t) fields kada neka polja povezujem. Nemam pojma zasto. Istog su imena, nisu primarni kljucevi, veza je intermediate, a on zahebava. Kako god..
 
Odgovor na temu

[es] :: C/C++ programiranje :: ODBC Database programiranje

[ Pregleda: 2878 | Odgovora: 16 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.