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

ADO-Recordset

[es] :: Visual Basic 6 :: ADO-Recordset

[ Pregleda: 4654 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vexx
Vukovar

Član broj: 6731
Poruke: 22
*.net.hinet.hr



Profil

icon ADO-Recordset16.01.2003. u 00:34 - pre 258 meseci
Imam jedan problem sa "vremenskim kasnjenjem" podatka iz Access tabele.Iz frmKalkM pozivam frmNewDobavljac.U njoj ubacujem novi recordset kojeg treba da vratim u frmKalkM u cboBox.Stos je sto program radi jedino kad stavim tacku prekida kad snimim podatke(znaci pre poziva na requery) i to samo ako taj prekid traje oko 5 sekundi.Sve mi je to pomalo cudno.Nisam znao da se tako nesto dogadja.Evo stavicu kod pa ako neko bude imao vremena nek mi pomogne.Hvala.



***************frmKalkM**********************************
Private Sub cmdNewDobavljac_Click()
frmNewDobavljac.Show vbModal
End Sub
-------------------------------------------------------
Public Function Reqery_dobavljac(iBound As Integer)
rsPartneri.Requery
dbcDobavljac.BoundText = iBound
End Function
***************frmNewDobavljac***************************
Option Explicit
Dim cn As ADODB.Connection
Dim connectString As String
Dim rs As ADODB.Recordset
Dim iBound As Integer
----------------------------------------------------------
Private Sub cmdPrenesi_Click()

With rs
.AddNew
!Naziv = Trim(Text2.Text)
!Vlasnik = Trim(Text3.Text)
!MB = Trim(Text4.Text)
!ZiroRacun = Trim(Text5.Text)
!Prodavac = True
!Mesto = Trim(Text6.Text)
!Adresa = Trim(Text7.Text)
!Tel = Trim(Text8.Text)
!Fax = Trim(Text9.Text)
!Mail = Trim(Text10.Text)
!Web = Trim(Text11.Text)
.Update
iBound = !ID
End With

rs.Close
Set rs = Nothing
cn.Close

MsgBox "Podatak uspešno snimljen !!!", vbInformation, "Obaveštenje"

Call frmKalkM.Reqery_dobavljac(iBound)

Unload Me

End Sub
-----------------------------------------------------------------------------
Private Sub Form_Load()

Set cn = New ADODB.Connection
connectString = "Provider=Microsoft.Jet.OLEDB.4.0" & ";" & "Data Source=e:\vexx Document\Programing\VisulBasic6\Diplomski\Diplomski.mdb"
cn.Open connectString

Set rs = New ADODB.Recordset
rs.Open _
"Select * From tblPartner Order By ID", cn, adOpenKeyset, adLockOptimistic

End Sub
 
Odgovor na temu

y0gie
Slovenija

Član broj: 7615
Poruke: 21
*.dial-up.arnes.si



Profil

icon Re: ADO-Recordset23.01.2003. u 20:49 - pre 258 meseci
Nemoj nikad stavljati podatke u bazo preko rs.addNew.
bolje ti je uvjek upotrebljavati SQL. Znači:

rs.open("INSERT INTO table VALUES(...),db_conn);
...
rs.close

Drugo: umjesto frmNewDobavljac.Show vbModal probaj sa Load frmNewDobavljac
i onda naravno sa UnLoad frmNew...

Mozda to resi problem.

Ako ne onda samo treba da pazis na red stavljanja podataka, otvaranja i zatvaranja Recordseta...nema druge
Bez Muje nema struje
 
Odgovor na temu

mvlado
Vladimir Milatovic

Član broj: 6491
Poruke: 89
*.beg.sezampro.yu



Profil

icon Re: ADO-Recordset16.02.2003. u 14:23 - pre 257 meseci
1. Koriscenje Jet drajvera je vrlo nezahvalno iz razloga sto putanju (PATH) do baze moras unapred dobro da isplaniras,
pogotovu ako ti je baza na serveru a aplikacija na nekom drugom racunaru.
Po mom misljenju koriscenje ODBC drajvera je prakticnije ali i sporije resenje. Posto ti ne pravis bazu za
banku nego za malu firmu onda to i nije neki problem.
Nema potrebe da kreiras Connection objekat, za to sluzi DataEnvironament.

2. Imao sam isti problem kao i ti. Prethodno ponudjeno resenje (yOgie) je potpuno pogresno. Stvar moras posmatrati ovako:
Prvo Baza je baza, a aplikacija je aplikacija. Kada otvoris neki rekordset onda je to kopija podataka iz baze. Kada
dodajes novi podatak u bazo onda to moras da uradis i u rekordsetu. Znaci AddNew metod je resenje.
Kada izvrsis INSERT INTO upit potrebni je neko vreme da se izvrsi promena u bazi (kod tebe 5s, kod mene 15s, itd.
zavisi da li imas 486 ili XP procesor). Znaci kada dodajes novi zapis uradi to na oba mesta, a ako koristis ADODC kontrolu
onda povezi TexBox kontrole sa ADODC kontrolom i kada uradis ADODC.AddNew, popunis polja, pa ADODC.Update
onda ce se automacki izvrsiti Update baze. Ovde ima mnogo sitnis zezalica koje treba dobro prouciti, sve je vrlo nelogicno.
Ako pristupas ka vise tabela preko nekog upita onda ovo ne radi bas, kada hoces da promenis podatak u samo jednoj tabeli onda
VB pokusava Update nad svim tabelama pa se javlja greska "isti primarni kljuc", a ja ne znam kako da ga nateram da proradi.

Preporucio bi ti da dobro proucis tehniku ADO programiranja baza podataka pod VB pa ce ti sve biti jasnije,
MSDN je pravo mesto.
mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1033\SNA.chm::/devdoc/live/sna/ado3_1jdu.htm
mk:@MSITStore:C:\Program%20Files\Microsoft%20Visual%20Studio\MSDN98\98VS\1033\ado200.chm::/mdoverview_2obx.htm
 
Odgovor na temu

Vuki
Beograd

Član broj: 5121
Poruke: 8
*.204.EUnet.yu



Profil

icon Re: ADO-Recordset28.02.2003. u 00:24 - pre 257 meseci
Evo ovako, ja sam imao slican problem. Sve programe ja sam radio sa odbc drivera a nedavno sam radio jedan programcic sa Jet driverom i tu se javio problem bas oko require. Dakle Jet driver ne podrzava require ili je neka greska kod Bilija. Uglavnom umesto require moras prvo zatvoriti rekordset ako je otvoren pa ga ponovo otvoriti kao sto si ga otvorio kod FOrm_load tj kod tebe funkciju koju koristis zameni. Umesto require prvo rs.close pa rs.open...
Nadam se da sam pomogao>Cao
Vuki
 
Odgovor na temu

Sija

Član broj: 19607
Poruke: 83
*.PPPoE-3748.sa.bih.net.ba.



+8 Profil

icon Re: ADO-Recordset24.05.2007. u 20:33 - pre 205 meseci
Jeste stara tema ali da ne otvaram novu pa ako neko moze ovo da malo pojasni. Meni se isto desava:
Npr: nesto ovako napravim:

rsProvjeri.Open "select * from tbl where broj=broj" , cnnKonekcija, adOpenStatic, adLockOptimistic

rsProvjeri.AddNew
rsProvjeri.Fields("broj").Value = CLng(txtBroj.Text)
rsProvjeri.Update
rsProvjeri.Close
rsProvjeri.Open "select ID from tbl where broj=broj", cnnKonekcija, adOpenStatic, adLockOptimistic


E treba taj ID ali ga ne mogu dobiti odmah tj. BOF ili EOF greska.
 
Odgovor na temu

dava
Banja Luka

Član broj: 27208
Poruke: 893



+384 Profil

icon Re: ADO-Recordset25.05.2007. u 07:33 - pre 205 meseci
Citat:
Sija
rsProvjeri.Open "select * from tbl where broj=broj" , cnnKonekcija, adOpenStatic, adLockOptimistic


Pretpostavljam da ti je broj (ovaj zadnji) varijabla.
Prema tome trebao bih ovako napisati:

rsProvjeri.Open "select * from tbl where broj= " & broj , cnnKonekcija, adOpenStatic, adLockOptimistic


SELECT * FROM หน่วยงานหลัก WHERE ยสันติ LIKE 'โดย%'
 
Odgovor na temu

Sija

Član broj: 19607
Poruke: 83
*.as58.ob.bih.net.ba.



+8 Profil

icon Re: ADO-Recordset25.05.2007. u 14:31 - pre 205 meseci
Nije problem u broju. To sam napiso za primjer. Problem je kada nesto upisem u bazu i odmah to isto pozovem nema ga. Treba proci neko vrijem tj. par sec da mogu pozvati.
 
Odgovor na temu

Sija

Član broj: 19607
Poruke: 83
*.as58.ob.bih.net.ba.



+8 Profil

icon Re: ADO-Recordset25.05.2007. u 14:55 - pre 205 meseci
Nije problem u broju. To sam napiso za primjer. Problem je kada nesto upisem u bazu i odmah to isto pozovem nema ga. Treba proci neko vrijem tj. par sec da mogu pozvati.
 
Odgovor na temu

Ero S Ovoga Sveta

Član broj: 21509
Poruke: 173
*.teol.net.



Profil

icon Re: ADO-Recordset25.05.2007. u 15:59 - pre 205 meseci
Probaj da koristis "UpdateBatch" umjesto "Update"!
 
Odgovor na temu

Sija

Član broj: 19607
Poruke: 83
*.PPPoE-6920.sa.bih.net.ba.



+8 Profil

icon Re: ADO-Recordset26.05.2007. u 13:19 - pre 205 meseci
Hvala!
 
Odgovor na temu

[es] :: Visual Basic 6 :: ADO-Recordset

[ Pregleda: 4654 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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