Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [SQL + VB,NET] - Stringa che genera errore

    Ciao! Allora il problema è questo...quando lancio l'esecuzione di questa INSERT sql col programma che sto facendo in vb.net mi genera quest'errore:

    Impossibile aggiungere la quantità di dati desiderata. Inserire o incollare meno dati.

    la stringa incriminata continene una miriade di campi! Vi incollo la stringa che viene generata dove i campi testo contengono come valore il nome stesso del campo:

    codice:
    INSERT INTO CONTRATTI (idCliente, numeroContratto, dataContratto, imponibile, iva, totale, condizioni, trasporto, luogo, venditore, codice1, codice2, codice3, codice4, codice5, codice6, codice7, codice8, codice9, codice10, codice11, codice12, codice13, codice14, codice15, codice16, codice17, codice18, codice19, codice20, codice21, codice22, codice23, codice24, codice25, codice26, codice27, codice28, codice29, codice30, articolo1, articolo2, articolo3, articolo4, articolo5, articolo6, articolo7, articolo8, articolo9, articolo10, articolo11, articolo12, articolo13, articolo14, articolo15, articolo16, articolo17, articolo18, articolo19, articolo20, articolo21, articolo22, articolo23, articolo24, articolo25, articolo26, articolo27, articolo28, articolo29, articolo30, q1, q2, q3, q4, q5, q6, q7, q8, q9, q10, q11, q12, q13, q14, q15, q16, q17, q18, q19, q20, q21, q22, q23, q24, q25, q26, q27, q28, q29, q30, des1, des2, des3, des4, des5, des6, des7, des8, des9, des10, des11, des12, des13, des14, des15, des16, des17, des18, des19, des20, des21, des22, des23, des24, des25, des26, des27, des28, des29, des30) VALUES (1, 292, '02/10/2009', '€ 10.000,00', '€ 20,00', '€ 12.000,00', 'pagamento', 'trasporto', 'luogo', 'venditore', 'Codice1','Codice2','Codice3','Codice4','Codice5','Codice6','Codice7','Codice8','Codice9','Codice10','Codice11','Codice12','Codice13','Codice14','Codice15','Codice16','Codice17','Codice18','Codice19','Codice20','Codice21','Codice22','Codice23','Codice24','Codice25','Codice26','Codice27','Codice28','Codice29','Codice30', 'Articolo1', 'Articolo2', 'Articolo3', 'Articolo4', 'Articolo5', 'Articolo6', 'Articolo7', 'Articolo8', 'Articolo9', 'Articolo10', 'Articolo11', 'Articolo12', 'Articolo13', 'Articolo14', 'Articolo15', 'Articolo16', 'Articolo17', 'Articolo18', 'Articolo19', 'Articolo20', 'Articolo21', 'Articolo22', 'Articolo23', 'Articolo24', 'Articolo25', 'Articolo26', 'Articolo27', 'Articolo28', 'Articolo29', 'Articolo30', 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 'des1', 'des2', 'des3', 'des4', 'des5', 'des6', 'des7', 'des8', 'des9', 'des10', 'des11', 'des12', 'des13', 'des14', 'des15', 'Des16', 'Des17', 'Des18', 'Des19', 'Des20', 'Des21', 'Des22', 'Des23', 'Des24', 'Des25', 'Des26', 'Des27', 'Des28', 'Des29', 'Des30')
    A me pare non ci siano errori spero qualcuno possa dirmi che ho sbagliato!

    GRAZIE!

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Leggere la tua stringa è un impresa (forse se la spezzavi in più parti era meglio...),
    A parte questo, come possiamo noi capire se questa INSERT è sbagliata?
    Intendo dire: in base a cosa possiamo individuare l'errore se l'unica cosa che possiamo fare è contare se il numero di campi corrisponde al numero dei valori?


  3. #3
    Guarda bene! ad occhi e croce o contato il numero dei campi e il numero dei valori che vuoi inserire e a me sembrano di più! Se hai 10 campi, DOPO VALUES ci devono andare 10 valori separati da virgole!


    if $oggi = "Lunedi" {
    $coglioni = $coglioni * 500;
    }

  4. #4
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    In fase di progettazione di un database è buona norma valutare il formato di dati che sarà necessario salvare ma è bene non dimenticare di prendere in considerazione anche la quantità.

    Questo errore si verifica nel caso si stia cercando di inserire in un campo di un database una quantità di dati superiore rispetto al limite massimo consentito.
    Il caso è abbastanza frequente in presenza di campi impostati nel formato testo (o CHAR, VARCHAR), che in Access è in grado di contenere fino ad un massimo di 255 caratteri.

    Come risolvere il problema

    Per risolvere il problema è sufficiente prevedere in anticipo, via codice, un controllo sull'input tagliando le parti in eccesso o, in alternativa, aumentare la capienza del campo passando ad un tipo differente se necessario.

    E' buona abitudine, al verificarsi di queste situazioni, eseguire una valutazione del programma e stimare quale tra le due possibilità rappresenti un compromesso ottimale tra spazio ed elasticità.
    A prescindere dalla decisione finale, è altamente consigliato eseguire sempre un controllo sui dati in input, per evitare pericoli provenienti dall'immissione di codice dannoso (ad esempio i tentativi di SQL Injection).

    In altre parole, metti in qualche campo un valore più grande di quello che può contenere.
    Ciao, Brainjar

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Gibra:
    Come al solito non ho capito che cosa mi stai chiedendo....non si vede se la stringa è buona leggendola? Spezzarla? :O

    Frungillo:
    Lo so che il numero dei valori è uguale a quello dei campi xD Ora provo a ricontare ma dalla conta di prima mi sembrava fosse tutto ok!

    Brain:
    Non credo di essere in eccesso nella length del campo...ora controllo...ma nn credo!

  6. #6
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Come non detto avevi ragione tu!
    Mi ero scordata di impostare il maxLenght e la lunghezza massima dei campi "articolo" era 8 e quando mettevo articolo23 (per esempio) ero fuori!

    Graaaazie :*

  7. #7
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Di niente. Grazie a te.
    Ciao, Brainjar

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    62
    mmmhhh... troppi campi!! Poi hai dei campi con i nomi uguali, cambia solo un numerello... hai pensato a fare qualche tabella in più e a collegarle con degli ID?

    Probabilmente il suggerimento non è inerente a questo specifico problema, ma lo sarà a tutti i problemi che avrai in futuro se usi una tabella del genere

  9. #9
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Condordo.
    Usa più tabelle tra loro collegate, 'normalizzando' di fatto il database.
    Ciao, Brainjar

  10. #10
    in effetti....possibile che questi dati non abbiano niente in comune?
    if $oggi = "Lunedi" {
    $coglioni = $coglioni * 500;
    }

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.