Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1

    [VB.NET] Campo del DB in una variabile

    Ciao a tutti,
    ho connesso la mia applicazione a un DB mySql e scaricato il contenuto in un datagrid e finquì tutto ok, ho letto una guida in rete :P
    La tabella si chiama pwd e come campi ha "user, pwd".
    Adesso vorrei fare in modo tale che facendo la select * dela tabella, che ha solo 2 campi, il valore che c'è nella colonna PWD venisse messo in una variabile.
    Ecco il codice per la connessione al db che poi mette tutto in un DataGrid:

    DsInstructors1.Clear()
    OdbcDataAdapter1.Fill(DsInstructors1)
    DataGrid1.DataSource = DsInstructors1.Tables("pwd")

    Questo è solo una cosa di prova per questo è semplice.
    Grazie a tutti
    spider81man

  2. #2
    codice:
    SELECT user, pwd AS var FROM NomeTabella
    NB. la select che ho scritto sopra funziona di sicuro nel caso in cui ci fosse un solo campo restituito. Non so se così come l'ho scritta funzioni o meno, se scrivi:
    codice:
    SELECT pwd AS var FROM NomeTabella
    ottieni il valore di pwd nella variabile di nome var, magari fammi sapere se funziona anche in caso di presenza di due campi con il codice a inizio post.
    Ciao

  3. #3
    Ciao, allora prima cosa grazie.
    Però mi da il seguente errore in entrambi i codici da te postati:

    Eccezione non gestita di tipo "System.Data.Odbc.OdbcException" in system.data.dll

    Informazioni aggiuntive: Errore di sistema.

    Poi un'altra domanda, "SELECT pwd AS var FROM NomeTabella" lo devo andare a inserire dentro l'ODBCDatadapter nella parte del SelectCommand-->CommandText??
    Poi nel code behind come la richiamo la variabile var?? basta che scrivo

    texbox1.text=var

    o devo fare altro??
    grazie e scusami ma sono MOLTO novizio :P

  4. #4
    Usi Odbc per necessità?
    Ti posto un codice che usa OleDb, eventualmente puoi modificarlo per Odbc

    codice:
    Dim cmd As New OleDb.OleDbCommand("SELECT user, psw AS var FROM NomeTabella", NomeDellaTuaConnessione)
    
    If cmd.Connection.State = ConnectionState.Closed Then
        cmd.Connection.Open()
    End If
    
    Dim dr As OleDb.OleDbDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
    dr.Read()
    
    msgbox dr("var")'così accedi al valore della variabile Var.
    Prova un po'

  5. #5
    Ciao,
    si uso ODCB per necessità visto che mi devo conntettere a un DB mySQL.
    CMQ ora provo il codice.
    GRAZIE
    spider81man

  6. #6
    Ho midificato il codice in questo modo :

    codice:
            
    Dim cmd As New Odbc.OdbcCommand("SELECT user, psw AS var FROM pwd", OdbcConnection1)
    
            If cmd.Connection.State = ConnectionState.Closed Then
                cmd.Connection.Open()
            End If
    
            Dim dr As Odbc.OdbcDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
            dr.Read()
    
            MsgBox(dr("var")) 'così accedi al valore della variabile Var.

    Ma quando premo il pulsante mi si ferma in questa riga:

    Dim dr As Odbc.OdbcDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

    dandomi il seguente errore:

    "Eccezione non gestita di tipo "System.Data.Odbc.OdbcException" in system.data.dll

    Informazioni aggiuntive: Errore di sistema."

    Sai dirmi come mai

  7. #7
    Nessuno sa aiutarmi???

  8. #8
    Prova a dichiarare istanziare ed aprire la connection prima di usare la funzione executereader del command (non mi fiderei della condizione che hai messo if connection.state = closed.... e se non e' closed ma non e' neanche open che fa?).
    Il codice
    Dim dr As Odbc.OdbcDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
    dr.Read()
    MsgBox(dr("var")) 'così accedi al valore della variabile Var.
    e' sbagliato. Non e' cosi che si legge un datareader. Per limitare uno degli errori che vedo (MsgBox(dr("var"))), ti consiglio di scrivere in cima alla pagina (prima di ogni cosa) OPTION STRICT ON .
    Per leggere correttamente un datareader devi farlo dall'inizio alla fine anche se sai che c'e' un unico record. Quindi es.
    codice:
    Dim dr As Odbc.OdbcDataReader = cmd.ExecuteReader 
    While dr.Read
       If Not IsDBNull(dr("var")) Then MsgBox(dr.GetString(dr("SEDE"))) 
    End While
    dr.Close()
    Saluti a tutti
    Riccardo

  9. #9
    Cieo,
    per prima cosa grazie per la risposta.
    Ma se provo a mettere il tuo codice mi da sempre lo stesso errore cioè:

    "Eccezione non gestita di tipo "System.Data.Odbc.OdbcException" in system.data.dll

    Informazioni aggiuntive: Errore di sistema."

    Come mai??
    A cosa è dovuto visto che mi si ferma sempre alla riga

    Dim dr As Odbc.OdbcDataReader = cmd.ExecuteReader

    Grazie
    spider81man

  10. #10
    Originariamente inviato da spider81man
    Ma se provo a mettere il tuo codice mi da sempre lo stesso errore
    riposta il codice, please (creazione della connection compresa)
    p.s. ma xche' usi odbc? Se vuoi interagire con un db mysql, scaricati il dataprovider specifico direttamente dal sito mysql http://dev.mysql.com/downloads/connector/net/1.0.html
    Saluti a tutti
    Riccardo

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.