Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: ADO-objektin yhteysasetukset

timok16 [02.06.2005 22:56:49]

#

moi,
Josko tähän saisin apua, kun edellisen kyssärin kannsa on ollut aika hiljaista. Siis ADO-objektin yhteysasetukset.
Itselläni näin:
Ei tykkää ollenkaan CStr sanasta, ei tunnista sitä lain

Private Sub cmdShow5_Click()
Dim i As Integer
Dim myRS As New ADODB.Recordset
'Asetetaan yhteysasetukset
Const CStr = PROVIDER=Microsoft.Jet.OLEDB.3.51; _
Data Source = C:\Program Files\Microsoft Visual Studio\VB98\Nwind.mdb;"
'Luodaan uusi recordset-objekti
Set myRS = New ADODB.Recordset
'Asetetaan yhteisominaisuus
myRS.ActiveConnection = CStr
'Avataan recordset, johon kuuluu kaikki
'tietueet customers-taulusta
myRS.Open "Select * from customers"
'tutkitaan, onko recordset tyhjä
If myRS.BOF And myRS.EOF Then
MsgBox "Recordset is empty!", 16, _
"Empty recordset"
    Else
        'Varmistetaan, että ollaan ensimmäisessä tietueesa
        myRS.MoveFirst
        For i = 1 To 5
        MsgBox myRS.Fields("companyName"), _
        vbInformation, "Company #" & i
        'Siirrytään seuraavaan tietueeseen
        myRS.MoveNext
        Next
        'Suljetaan recordset
        myRS.Close
End If
        'poistetaan objekti
        Set myRS = Nothing
End Sub

BadSource [03.06.2005 07:11:28]

#

Et voi käyttää CStr:ä muuttujana, sillä se on VB:n varattu sana. Muuttaa saamansa aineiston merkkijonoksi. Vaihda sen tilalle jokin toinen muuttujan nimi.

Dim d As Double
Dim i As Integer

'Len-funktio kertoo merkkijonon pituuden.
'Lukujen kanssa Len-funktio palauttaa mitä sattuu...
i = 345
d = 34.5678
MsgBox Len(i) 'palauttaa 2, mikä on väärin.
MsgBox Len(CStr(i)) 'palauttaa 3, mikä on oikein.
MsgBox Len(d) 'palauttaa 8, mikä on väärin.
MsgBox Len(CStr(d)) 'palauttaa 7, mikä on oikein.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta