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

RecordCount problem

[es] :: Visual Basic 6 :: RecordCount problem

[ Pregleda: 4029 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mzoran
Niš, Srbija

Član broj: 9700
Poruke: 26
*.vdial.verat.net



Profil

icon RecordCount problem12.01.2004. u 22:51 - pre 246 meseci
Radim aplikaciju u VB-u za rad sa bazom podataka i koristim ADO.
Evo koda za konekciju:

Code:

Private Const mcstrDSNBeg As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
Private Const mcstrDSNEnd As String = ";Persist Security Info=False"
Private Const mcstrPath As String = "baza.mdb"
Private Const mcstrDSN  As String = mcstrDSNBeg & mcstrPath & mcstrDSNEnd

.
.

Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sqlstr As String, Termin as Integer
Set cnn = New ADODB.Connection
cnn.Open mcstrDSN
Set rs = New ADODB.Recordset
Termin = 1
sqlstr = "SELECT Ime FROM Termini WHERE Vreme = " & Termin & ";"
rs.Open sqlstr, cnn
MsgBox rs.RecordCount
rs.close


Ovo je samo deo koda, pretpostavljam da je greška tu negde. Naime, msgbox mi vraća -1
iako recordset ima više slogova. Takođe je -1 i kada je recordset prazan (BOF).
Probao sam da dodam i rs.MoveFirst kao i rs.Requery ali ne pomaže.
Zašto ?
 
Odgovor na temu

mladenovicz
Zeljko Mladenovic
Xoran Technologies, Inc., Ann Arbor, MI,
USA / Software Engineer
Ann Arbor, MI, USA

Član broj: 6598
Poruke: 2065
*.yubc.net

Jabber: mladenovicz@elitesecurity.org
ICQ: 95144142
Sajt: yubc.net/~mz


Profil

icon Re: RecordCount problem13.01.2004. u 10:27 - pre 246 meseci
Citat:
MSDN:
The property returns -1 when ADO cannot determine the number of records or if the provider or cursor type does not support RecordCount.


probaj da otvaras RS ovako (adOpenDynamic)

Code:

RS.open Qry, adoConn, adOpenDynamic


Prilikom otvaranja recordseta nisi naveo CursorType, a default je adOpenForwardOnly.

Proveru da li je RS prazan, tj. da li postoje zapisi u njemu vrsi ovako:

Code:

If Not (RS.BOF And RS.EOF) Then

 
Odgovor na temu

ssteva
Beograd

Član broj: 12533
Poruke: 55
195.250.117.*



Profil

icon Re: RecordCount problem13.01.2004. u 20:08 - pre 246 meseci
Da se nadovezem koristi klijentski cursor. Tip kursora onda i ne moras da navodis prilikom otvaranja recordseta, uvek je Static. Mislim da je serverski cursor i izbacen iz ADO .Net-a.
Code:
Set cnn = New ADODB.Connection
cnn.CursorLocation = adUseClient
cnn.Open mcstrDSN

Najlakse je da definises na objektu konekcije. Inace default je serverski cursor i to ForwardOnly, koji nema mogucnost da prikaze RecordCount.

 
Odgovor na temu

mzoran
Niš, Srbija

Član broj: 9700
Poruke: 26
*.vdial.verat.net



Profil

icon Re: RecordCount problem15.01.2004. u 21:22 - pre 246 meseci
Hvala na odgovorima. Tip kursora je bio problem, to nisam znao.
Kada se stavi
cnn.CursorLocation = adUseClient
RecordCount metod radi kako treba.
 
Odgovor na temu

[es] :: Visual Basic 6 :: RecordCount problem

[ Pregleda: 4029 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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