Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    3

    Query parametriche con C#

    Salve a tutti, ho dei problemi con una query parametrica per l'inserimento di dati in una tabella su un db su MySQL.
    Il problema è che i valori dei parametri impostati, risultano essere sempre nulli.

    Il linguaggio è il C#
    vi posto il codice:


    DataSet ds=new DataSet();
    MySqlConnection mysqlconn=new MySqlConnection("Database=nome_db;Data Source=localhost;User Id=xxx;Password=xxx");

    mysqlconn.Open();
    string query="insert into ospiti(Id,Nome,Mail,Commenti,Privacy) values (@Id, @Nome, @Mail, @Commenti, @Privacy)";
    MySqlCommand command=new MySqlCommand(query,mysqlconn);
    MySqlDataAdapter da=new MySqlDataAdapter(query,mysqlconn);

    da.SelectCommand.Parameters.Add("@Id", MySqlDbType.Int16,50).Value = 15;

    da.SelectCommand.Parameters.Add("@Nome", MySqlDbType.VarChar,50).Value = "Andrea";
    da.SelectCommand.Parameters.Add("@Mail", MySqlDbType.VarChar,50).Value = "posta";
    da.SelectCommand.Parameters.Add("@Commenti", MySqlDbType.String, 80).Value = "Ciao";
    da.SelectCommand.Parameters.Add("@Privacy", MySqlDbType.VarChar,20).Value = "yes";


    command.ExecuteNonQuery();
    da.Fill(ds);

    mysqlconn.Close();


  2. #2

    Re: Query parametriche con C#

    dovresti modificare il codice + o - cosi
    mysqlconn.Open();
    string query="insert into ospiti(Id,Nome,Mail,Commenti,Privacy) values (@Id, @Nome, @Mail, @Commenti, @Privacy)";
    MySqlCommand command=new MySqlCommand(query,mysqlconn);
    command.Parameters.Add("@Id", MySqlDbType.Int16,50).Value = 15;
    command.Parameters.Add("@Nome", MySqlDbType.VarChar,50).Value = "Andrea";
    command.Parameters.Add("@Mail", MySqlDbType.VarChar,50).Value = "posta";
    command.Parameters.Add("@Commenti", MySqlDbType.String, 80).Value = "Ciao";
    command.Parameters.Add("@Privacy", MySqlDbType.VarChar,20).Value = "yes";
    command.ExecuteNonQuery();
    mysqlconn.Close();
    per il resto, sicuro che i parametri vadano impostati con .Add("@Nome"... e non solo con "Nome"? e anche che il prefisso "@" sia quello corretto? es. oledb vuole il prefisso "?" oracleclient ":" ecc. Non ho installato il dataprovider di mysql quindi non ho la possibilita di verificare.
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    3

    Query parametriche con C#

    Grazie tante riccardone, ho seguito il tuo consiglio e ora funziona.Ho dovuto sostituire il simbolo '@' con '?', anche se devo dire che nella documentazione del MySQL Connector NET 1.0.4 dice di utilizzare il simbolo '@'.Comunque grazie ancora , a presto, ciao a tutti


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.