Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313

    [vb6] recordset non passabile

    ciao,

    ho fatto una classe (dbManager) che si occupa dell'interazione col db (connette, esegue query, modifica, ecc...)

    e dentro a questa classe ho messo la seguente funzione

    codice:
    Public Function exeQuery(q As String) As ADODB.Recordset
        'Debug.Print "DEBUG: executing: " & q
        dbRst.Open q, dbConn, adOpenDynamic, adLockOptimistic
        exeQuery = dbRst
    End Function
    e da un form la richiamo cosi:

    codice:
     Set db = New DbManager
     Set rst = db.exeQuery(query) 'query é un semplice "select * from tabella"
    purtroppo pero mi da questo errore in esecuzione:

    Compile error. invalid use of properti e il debugger mi va a selezionare la funzione exeQuery.

    che cosa c'é che non va?
    sono alle prime armi con vb6
    alcool: la causa e la soluzione di tutti i problemi

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Un recordset e' un oggetto e in quanto tale deve essere usata la parola chiave Set.

    Devi quindi scrivere

    Set exeQuery = dbRst

  3. #3
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    grazie mille!
    che scemo... mi era sfuggito!
    alcool: la causa e la soluzione di tutti i problemi

  4. #4
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    ora pero mi da un altro problema:

    dice che non passo un valore per un parametro richiesto e mi seleziona la riga

    dbRst.Open q, dbConn, adOpenDynamic, adLockOptimistic

    ma é strano perché la q é definita (ne sono sicuro perché la facevo vedere in debug)
    puo darsi che dbConn sia nothing? come posso controllare?

    edit: quando guardo col debugger vedo:

    -la query c'é
    -dbConn mi mostra la stringa di connessione
    -adOpenDynamic = 2
    -adLockOptimistic = 3

    inoltre se eseguo dbRst.Open nella stessa routine dove apro la connessione non ci sono problemi. che sarà mai?
    alcool: la causa e la soluzione di tutti i problemi

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il problema e' all'interno della query ... visualizza il contenuto della stringa q

  6. #6
    Utente di HTML.it L'avatar di Gumble
    Registrato dal
    Jun 2004
    Messaggi
    1,313
    ecco:

    "SELECT * FROM [user] where user_name = 'TEST' and password = 'TEST';"

    edit: sono riuscito a sistemarlo.in effetti c'era un problema con la query (nome campo inesistente) e un altro con un nome di variabile.

    devo decisamente dormire meglio la notte! ho perso un bel po di tempo per queste due cavolate
    alcool: la causa e la soluzione di tutti i problemi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.