Recordset

poruka: 8
|
čitano: 5.309
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
10 godina
neaktivan
offline
Recordset

Pozdrav,

 

programcic u VB6 otvara SQL bazu, te izvrši SQL upit...Zanima me kako taj upit pohraniti u varijablu ili ispisati u MsgBox?

Konekcija na bazu je rješena kroz ADO.

 

Muči me recordset, kako iz njega izvuć podatke u varijablu.

Poruka je uređivana zadnji put sri 23.4.2014 13:33 (dmajevic).
Moj PC  
0 0 hvala 0
14 godina
offline
Re: Recordset

Ukoliko upit vrati samo jedan redak: Recordset(0), Recordset(1), Recordset(2) i tako dalje za svaki stupac ili drugi način je prema imenu Recordset("NAZIV_STUPCA").

Znači: varijabla = Recorset(0)

 

Drugi slučaj, kada upit vrati više redaka treba napraviti petlju i nakon što se pročita redak naredbom Recordset.MoveNext prelazimo na slijedeći redak i tako do kraja.

Do while not Recordset.EOF

   varijabla = Recordset(0)

   Recordset.MoveNext

Loop

ili

 

For i = 0 to Recordset.Recordcount - 1)

   varijabla = Recordset(i)

   Recordset.MoveNext

Next

Poruka je uređivana zadnji put čet 24.4.2014 8:22 (nikhorva).
10 godina
neaktivan
offline
Re: Recordset

Može još mala pomoć, dio code-a ide ovako:

  Dim cnn As ADODB.Connection

  Set cnn = New ADODB.Connection

  Dim zapis As ADODB.Recordset

  Set zapis = New ADODB.Recordset

 

cnn.ConnectionString = "DSN=ODBC_baza;UID=user;PWD=lozinka;"

cnn.open

 

SQL = "SELECT * FROM auto WHERE Product = 'AUDI' "

 

  zapis.Open SQL, cnn

 

  Dim varijabla As String

varijabla = zapis("KOLICINA")

 

 

 

Negdje griješim....

13 godina
neaktivan
offline
Recordset

Pa gdje griješiš?

U čemu uopće izvodiš taj kod, zar ti ne piše greška? Imaš help.

Šta uopće pokušavaš napraviti?

Da li si se spojio na bazu? Imaš li ispravan ConnectionString ? Definiraj sve varijable.

 

Koliko dugo programiraš? Imaš na internetu gotovog koda samo utipkaj u google šta ti treba.

 
0 0 hvala 0
10 godina
neaktivan
offline
Re: Recordset

Visual Basic 6.0 Veza s bazom postoji, ali mi baca grešku:

 

 

Invalid column name Audi.

 

Kad ne stavim uvjet WHERE, izbaci mi u msgboxu prvu vrijednost iz tablice...

 

Nekako drugacije trebam formulirati taj uvijet WHERE al mi nije jasno kako...

 

Poruka je uređivana zadnji put pet 25.4.2014 16:15 (dmajevic).
10 godina
neaktivan
offline
Recordset

Ako stavim ovakav upit, da čita podatak iz textboxa:

 

SQL = "SELECT * FROM auto WHERE Product =  " & "'" & Me!Text1.Text & "' "

 

dobijem grešku:

The data types text adn varchar are incompatible in the equal to operator.

 

Baza je u SQL Serveru, i polje koje čita u bazi je defnirano kao Text.

Moj PC  
0 0 hvala 0
14 godina
offline
Re: Recordset

Što se tiče greške "Invalid column name 'Audi'" pretpostavljam da nisi stavio riječ Audi pod navodnike, pa SQL to gleda kao da hočeš sve gdje je vrijednost u koloni Product jednaka vrijednosti u koloni Audi.

Greška "The data types text and varchar are incompatible in the equal to operator." ti se javlja zato što je polje u bazi tipa text, pa ili promjeni da bude varchar(100) (npr.) ili kod upita koristi convert.

 

Upit bi trebao izgledati ovako:

 

SQL = "SELECT * FROM auto WHERE Product = '" & Text1.Text & "'"

Poruka je uređivana zadnji put pon 28.4.2014 8:32 (nikhorva).
10 godina
neaktivan
offline
Re: Recordset

nisam skuzio koristenje CONVERT-a...

 

SQL = "SELECT * FROM auto WHERE Product = convert(text, '" & Text1.Text & "')"

 

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice