Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Parametri e mysql

  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080

    Parametri e mysql

    Qualcosa non mi quadra e qualcosa mi dice sia un errore molto stupido...

    Ho una query sql che funziona (dopo tanta fatica).
    Ho quindi deciso che potevo complicarmi la vita facendo un inserimento con parametri...

    quindi:

    1- associo ad una variabile il valore della textbox

    codice:
    string titolo = txttitolo.Text;
    2- creo la stringa sql

    codice:
    string strSQL = "INSERT INTO Miatabella (titolo , foto , ...) VALUES (@titolo, '" + foto + "', ...)";
    3-
    codice:
    MySqlCommand cmd = new MySqlCommand(strSQL, connection);
    
                    // parametri
                    MySqlParameter parameter1 = new MySqlParameter("@titolo", MySqlDbType.VarChar);
                    parameter1.Value = Server.HtmlEncode(titolo);
                    cmd.Parameters.Add(parameter1);
    
                    connection.Open();
                    cmd.ExecuteNonQuery();
                    connection.Close();
    ---

    Il tutto va a buon fine però però però... il campo titolo viene inserito con valore null!

  2. #2
    Con mysql devi usare un'altra sintassi per specificare le variabili:

    string strSQL = "INSERT INTO Miatabella (titolo , foto , ...) VALUES (:titolo, '" + foto + "', ...)";

    prova cosi con i due punti

  3. #3
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    putroppo con i due punti ho questo errore in fase di visualizzazione

    You have an error in your SQL syntax near ':titolo, 'pippo.jpg',...

  4. #4
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Risolto con ? al posto di @

  5. #5
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Fai attenzione che che i parametri denominati per le sorgenti dati OLE DB e ODBC sono posizionali, quindi l'ordinamento è vincolante.
    il simbolo @ è supportato solo dai provider per ORACLE e SQL Server e, in questo caso la posizione non incide.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

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.