[ bane @ 03.05.2003. 21:30 ] @
| Napravio sam bazu podataka sa dve tabele(1->oo) u Access-u. Treba da je preuzmem u VB programu koji će moći da prepravlja i dodaje nove zapise.
Krenuoa sam da radim preko ADO modela. Dakle , otvorio sam
Data Evironment,
uzeo OLE DB Provider for ODBC Drivers,
Use connect string, Build i podesio sve što treba,
Uz pomoć Test utvrdio sam da je veza uredu,
Add command i podesio sve
Add Child Command itd.
Zatim sam ova polja prevukao u moj Form, dodao dugmad Next, Previous.
Problem je u tome što sada samo moug da pregledam sadržaj. U drugoj tabeli (1->oo) koja koristi FlexGrid nemogu ništa da upišem, dok što se tiče polja prve tabele koja koriste TexBox-ove mogu da mjenjam sadržaj.
Nisam siguran kako da dodajem nove zapise.
Poželjna je bilo kakva pomoć ukoliko neko zna u čemu je poblem ili ako ima neke sugestije oko nekog drugog načina rešavanja problema(nemora ADO model).
|
[ DraganK @ 03.05.2003. 21:50 ] @
Pazi, nikako se ne savetuje rad sa podacima preko dataenvironmenta i ostalih wizard type dizajn kontrola. Em što to radi traljavo, em što nemaš nikakvu kontrolu nad podacima, em što ti povećava setup arhivu. Tu je ujedno i glavna mana reporta, što ne može da radi bez d.env-a.
Treba da radiš sa recordsetovima i connection objektima, a ako su u pitanju dve povezane tabele, onda transakcija:
dim cn as new adodb.connection
cn.connectionstring=dataenvironment1.connection1.connectionstring
cn.open
cn.begintrans
cn.execute ("INSERT INTO tabela 1...")
cn.execute ("INSERT INTO tabela 2...")
cn.committrans
cn.close
set cn=nothing
[ bane @ 04.05.2003. 19:51 ] @
Javlj mi sintaksnu grešku na:
cn.execute ("INSERT INTO tabela 1...")
cn.execute ("INSERT INTO tabela 2...")
Takođe nisam siguran šta tačno radi:
cn.committrans
Mnogo bi mi pomoga tačna sintaksa ovog primera sa dve povezane tabele pošto imam dve knjige za VB:
Vodič kroz Visual Basic 6.0
Visual Basic 6 programiranje baza podataka za 21 dan
Ova druga knjga jednostavno ne pominje ovakav slučaj tj. u odeljku ADODB daje primere sa jednom tabelom.
Prva knjiga se malo dotiče baza podataka što je i razumljivo.
U svakom slučaju bilo kakva pomoć je dobrodošla.
[ DraganK @ 05.05.2003. 00:42 ] @
Pazi, nisam mislio bukvalno "INSERT INTO tabela 1...", valjda je logično da je to samo putokaz... Ako ne znaš SQL jezik, onda ti je bolje da radiš preko dataenvironmenta, adodc kontrola i ostalih wizarda.
Committrans označava kraj transakcije, to znači da si u međuvremenu mogao da uradiš više update-ova, inserta ili delete-a iz koliko hoćeš tabela, ali tek se onda to izvršava. To je nekad neophodno kod povezanih tabela, nestane struja i šta ti ja znam.
[ MILANM72 @ 30.05.2003. 22:12 ] @
Naravno da ne mozes da upisujes podatke. U data environment imas
svojstvo read only [samo za pregled] koje moras da promenis da bi mogao da
upisujes podatke.
Data environment se uglavnom koristi za izvestaje jer moze lako da generise
SQL sintaksu sa sumiranim poljima i upitima sa vise tabela. Ako zelis obrazac za upis
podataka bolje idi preko recordseta ili koristi ado kontrolu. Ne zaboravi da
referenciras potrebnu ado biblioteku da bi sve radilo...
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.