Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    ExecuteScalar e problemi di cast

    ciao, non riesco a trovare l'errore.. quando verco di eseguire un comando mi viene fuori che "il cast specificato non è valido"
    codice:
    cmd = new OleDbCommand("SELECT usr FROM Accounts WHERE usr = @user");
                    cmd.Connection = cn;
                    
                    OleDbParameter userexistspar = new OleDbParameter("@user", OleDbType.VarChar,8);
                    userexistspar.Value = txtUsn.Text;
                    cmd.Parameters.Add(userexistspar);
    
                    cn.Open();
                    /*-> Qui l'errore*/   int iExists = (int)cmd.ExecuteScalar();
                    if (iExists == 1)
                    {
                        MessageBox.Show("IL NOME UTENTE E' GIA PRESENTE, INSERIRNE UN ALTRO!");
                        return;
                    }
    Come mai?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Attraverso la query SQL che hai scritto, ottieni il valore del campo usr che, presumibilmente, è di tipo "testo"... cercare di convertirlo in intero potrebbe essere deleterio se contiene un nome utente.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da alka
    Attraverso la query SQL che hai scritto, ottieni il valore del campo usr che, presumibilmente, è di tipo "testo"... cercare di convertirlo in intero potrebbe essere deleterio se contiene un nome utente.
    puoi scendere un pò + nel particolare? cosa vuoi dire con "potrebbe essere deleterio?"
    cmq modificando la query in "...COUNT(usr)..." sembra funzionare.. quindi il problema di casting era tra la variabile e il tipo di ritorno del campo..
    grazie

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da dops
    puoi scendere un pò + nel particolare? cosa vuoi dire con "potrebbe essere deleterio?"
    Pensavo si potesse arrivare a conclusione già dalla spiegazione.

    Originariamente inviato da dops
    cmq modificando la query in "...COUNT(usr)..." sembra funzionare.. quindi il problema di casting era tra la variabile e il tipo di ritorno del campo..
    Il problema era che tu restituivi il valore del campo usr per il record trovato, che contiene presumibilmente lo username.

    Tentare di convertire un nome utente in un valore intero non credo fosse il tuo scopo...e infatti volevi il conteggio.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da alka
    Pensavo si potesse arrivare a conclusione già dalla spiegazione.


    Il problema era che tu restituivi il valore del campo usr per il record trovato, che contiene presumibilmente lo username.

    Tentare di convertire un nome utente in un valore intero non credo fosse il tuo scopo...e infatti volevi il conteggio.
    grazie

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.