Risposta suggerita dimensione max campo test

  • giovedì 26 aprile 2012 08:25
     
     

    Ciao,

    sembra che esista un dimensione max di 4000 caratteri in un campo testo,

    chiedo conferma di ciò ed eventualmente come posso risolvere questo problema?

    grazie ciao

Tutte le risposte

  • giovedì 26 aprile 2012 08:35
    Postatore
     
     

    Ma stai parlando del controllo TextBox oppure dei campi di un database? In quest'ultimo caso, quale database stai usando?


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

  • giovedì 26 aprile 2012 08:51
     
     

    scusami, mi riferivo al database Sql Compact 4.0

  • giovedì 26 aprile 2012 09:06
    Postatore
     
     Risposta suggerita

    Sì, il campo nchar può contenere al massimo 4000 caratteri. Trovi una descrizione dei vari tipi di dati qui: http://msdn.microsoft.com/en-us/library/ms172424.aspx.

    Per salvare una quantità maggiore di informazioni testuali, devi usare il tipo ntext.


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

  • giovedì 26 aprile 2012 12:17
     
     

    Ciao grazie per la tua cortese risposta.

  • giovedì 26 aprile 2012 12:29
    Postatore
     
     
    Non c'è di che, è un piacere essere d'aiuto.

    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

  • venerdì 27 aprile 2012 15:46
     
     

    Ciao, ho provato con ntest, ma non funziona, in quanto l'errore mi dice che non può superare i 4000 char.

    Vi è un'altra soluzione? Grazie ciao Valentina

  • venerdì 27 aprile 2012 15:50
    Postatore
     
     

    La documentazione disponibile al link che ti ho segnalato indica chiaramente che la dimensione massima di un campo di tipo ntext è di 536,870,911 caratteri.

    Quando è che ottieni questo errore? Cosa usi per la collegarti al database? Entity Framework, NHibernate, SqlCeConnection, ...? Mi mostri il codice con cui tenti di effettuare l'inserimento?


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

  • venerdì 27 aprile 2012 16:43
     
     

    Ciao, per collegarmi uso EF CodeFirst. il database è Sql Compact 4.0

    Se uso pochi caratteri la scrittura funziona.

    Il messaggio di errore interno è:

    "Property:  ArticleText error: The field ArticleText must be a string or array type with a maximum length of 4000"

    public class Article

    {

        public int Id { get; set; }

        [Column(TypeName = "nText")]

        public string ArticleText { get; set; }

    }

                string article;

                using (MicroContext db = new MicroContext()) {

                    Article art = db.Articles.Find(id);

                    art.ArticleText = article;

                    db.SaveChanges();

                }

    grazie per il suo aiuto, ciao Valentina

  • venerdì 27 aprile 2012 17:00
    Postatore
     
     Risposta suggerita Contiene codice

    Per indicare a Entity Framework di usare una colonna di tipo ntext con SQL Server Compact Edition, devi usare l'attributo MaxLength sulla proprietà, in questo modo:

    [MaxLength]
    public string ArticleText { get; set; }


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva