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.
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.
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
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....
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.
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...
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.
Š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 & "'"
nisam skuzio koristenje CONVERT-a...
SQL = "SELECT * FROM auto WHERE Product = convert(text, '" & Text1.Text & "')"