none
FCKEditor dentro l'update di un gridView: Tipi di dati non corrispondenti nell'espressione criterio. RRS feed

  • Domanda

  • Ciao a tutti.

    Come dal titolo ho implementato dentro la sezione editItemTemplate di una gridView un editor di testo (FCKEditor) ho creato tutta la logica tra cui anche la modifica (upDate) tutto sembra funzionare bene se non fosse per l'errore scatenato all'evento Update. Posto il codice:
    Nel code file:

      protected void GvOfferte_Update(object sender, GridViewUpdateEventArgs e)
      {
        TextBox Titolo = (TextBox)GvOfferte.Rows[e.RowIndex].FindControl("txtTitolo");
        FCKeditor Offerta = (FCKeditor)GvOfferte.Rows[e.RowIndex].FindControl("txtOfferta");
        TextBox Posizione = (TextBox)GvOfferte.Rows[e.RowIndex].FindControl("txtPos");
        TextBox id_Dest = (TextBox)GvOfferte.Rows[e.RowIndex].FindControl("txtDest");
        TextBox pdf = (TextBox)GvOfferte.Rows[e.RowIndex].FindControl("pdfOfferta");
        CheckBox chkVisibile = (CheckBox)GvOfferte.Rows[e.RowIndex].FindControl("chkVis");
    
        classeOfferte.OfferteUpdate(Convert.ToInt32(GvOfferte.DataKeys[e.RowIndex].Values[0].ToString()), Titolo.Text, Offerta.Value, pdf.Text, Posizione.Text, id_Dest.Text, chkVisibile.Checked);
    
        GvOfferte.EditIndex = -1;
        BindData();
      }
    
    


    mentre la classe che creato per la gestione contiene questo struct:

      public void OfferteUpdate(int id, string Titolo, string Offerta, string pdf, string Posizione, string idDest, Boolean Visible)
      {
        string conn = ConfigurationManager.ConnectionStrings["ConnectionStringDbOfferte"].ConnectionString;
        using (OleDbConnection connection = new OleDbConnection(conn))
        {
          OleDbCommand cmd = new OleDbCommand("UPDATE tbl_offerta SET id_dest = @nDest, posizione_offerta = @pos, visibilita_offerta = @vis, descrizione_offerta = @descrizione, pdf_offerta = @pdf, titolo_offerta = @titolo WHERE id_offerta = @id", connection);
          cmd.Parameters.Add(new OleDbParameter("@titolo", OleDbType.VarChar)).Value = Titolo;
          cmd.Parameters.Add(new OleDbParameter("@descrizione", OleDbType.VarChar)).Value = Offerta;
          cmd.Parameters.Add(new OleDbParameter("@pdf", OleDbType.VarChar)).Value = pdf;
          cmd.Parameters.Add(new OleDbParameter("@pos", OleDbType.VarChar)).Value = Posizione;
          cmd.Parameters.Add(new OleDbParameter("@nDest", OleDbType.VarChar)).Value = idDest;
          cmd.Parameters.Add(new OleDbParameter("@vis", OleDbType.Boolean)).Value = Visible;
          cmd.Parameters.Add(new OleDbParameter("@id", OleDbType.Integer)).Value = id;
    
          connection.Open();
          cmd.ExecuteNonQuery();
          connection.Close();
          connection.Dispose();
        }
      }
    
    
    Sono certo che l'errore è legato all'editor ma sono 2 ore che controllo, riprovo e ricontrollo e non cambia niente...

    grazie anticipatamente.
    Ricardo Bagnati - www.vicenzasoftware.com
    sabato 9 aprile 2011 10:39

Risposte

  • Ho risolto, in pratica avevo inserito il tipo di dati passati alla classe in modo errato, questo è quello giusto:
    public void OfferteUpdate(int id, string Titolo, string Offerta, string pdf, string Posizione, string idDest, bool Visible)
    
    

    Ricardo Bagnati - www.vicenzasoftware.com
    • Contrassegnato come risposta Ricardo78 sabato 9 aprile 2011 15:12
    sabato 9 aprile 2011 15:10