Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 38
  1. #1
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303

    [VB.NET 2005]Sql Errore inserimento dati

    ho un problema, la tabella sql di inserimento dati ha tre campi impostati a numeric.
    quando eseguo l'inserimento dei dati mi ritorna il seguente errore:

    codice:
    Errore durante la conversione del tipo di dati da varchar a numeric
    la query è questa:

    codice:
    "INSERT INTO [Dose](Anno,Cognome, Nome,Reparto,Presidio,Inizio_Periodo,Fine_Periodo,Body,Mani,Caviglia)VALUES('" & Label5.Text & "','" & cogn.ToString & "','" & name.ToString & "','" & Label3.Text & "','" & ListBox6.Text & "','" & Min.Text & "','" & Mout.Text & "','" & MTextBox1.Text & "','" & MTextBox2.Text & "','" & MTextBox3.Text & "')", conn)
    dove
    MTextBox1.Text
    MTextBox2.Text
    MTextBox3.Text

    sono le caselle che contengono i numeri.
    ho provato anche a togliere gli apici ma va sempre in errore.
    Perchè?

  2. #2

    Ciao, molto probabile e dovuto al fatto che sul database il campo è mappato come int (numerico) mentre tu gli passi una stringa. Passagli un intero utilizza la classe Convert che ha dei metedo di conversione tra cui interi.
    Ciao EMa
    Sito Web:
    http://blog.shareoffice.it/emanuele
    Blog Personale
    http://emanuelemattei.blogspot.com/

  3. #3
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    Originariamente inviato da Emanuele2008

    Ciao, molto probabile e dovuto al fatto che sul database il campo è mappato come int (numerico) mentre tu gli passi una stringa. Passagli un intero utilizza la classe Convert che ha dei metedo di conversione tra cui interi.
    Ciao EMa
    potresti farmi un esempio?

  4. #4
    Fatta al volo, verifica.
    "INSERT INTO [Dose](Anno,Cognome, Nome,Reparto,Presidio,Inizio_Periodo,Fine_Periodo, Body,Mani,Caviglia)VALUES('" & Label5.Text & "','" & cogn.ToString & "','" & name.ToString & "','" & Label3.Text & "','" & ListBox6.Text & "','" & Min.Text & "','" & Mout.Text & "'," & convert.toInt32(MTextBox1.Text) & "," & convert.toInt32( MTextBox2.Text) & "," & convert.toInt32(MTextBox3.Text) & ")", conn).
    In pratica non puoi passare un valore string ad un campo impostato come numerico.
    Ciao EMa
    Sito Web:
    http://blog.shareoffice.it/emanuele
    Blog Personale
    http://emanuelemattei.blogspot.com/

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: [VB.NET 2005]Sql Errore inserimento dati

    Originariamente inviato da x69asterix
    ho un problema, la tabella sql di inserimento dati ha tre campi impostati a numeric.
    quando eseguo l'inserimento dei dati mi ritorna il seguente errore:

    codice:
    Errore durante la conversione del tipo di dati da varchar a numeric
    la query è questa:

    codice:
    "INSERT INTO [Dose](Anno,Cognome, Nome,Reparto,Presidio,Inizio_Periodo,Fine_Periodo,Body,Mani,Caviglia)VALUES('" & Label5.Text & "','" & cogn.ToString & "','" & name.ToString & "','" & Label3.Text & "','" & ListBox6.Text & "','" & Min.Text & "','" & Mout.Text & "','" & MTextBox1.Text & "','" & MTextBox2.Text & "','" & MTextBox3.Text & "')", conn)
    sono le caselle che contengono i numeri.
    ho provato anche a togliere gli apici ma va sempre in errore.
    Perchè?
    L'errore potrebbe essere fuorviante, ovvero non essere il vero errore dato che non vi sono gli spazi necessari nelle parti seguenti:
    [Dose](
    )VALUES(

    Dovrebbero essere:
    [Dose] (
    ) VALUES (

    Comunque, nel caso di errore di conversione, non è certo convertendo il dato da Varchar a Numeric che si risolve il problema.
    Invece devi togliere gli apici , perchè non vanno usati con i campi numerici.


  6. #6
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    bò...
    allora se il campo viene lasciato in nvarchar ed inserendo gli apici nessun errore il record viene inserito, così come è scritta la query, ma se cambio in numeric o decimal è togliendo gli apici mi da nel caso di numeric un errore in prossimità di: { ','.}
    se in decimal problema di conversione

    allora questo è la query:

    codice:
    ("INSERT INTO [Dose] (Anno, Cognome, Nome, Reparto, Presidio,Inizio_Periodo, Fine_Periodo, Body, Mani, Caviglia ) VALUES ('" & Label5.Text & "','" & cogn.ToString & "','" & name.ToString & "','" & Label3.Text & "','" & ListBox6.Text & "','" & Min.Text & "','" & Mout.Text & "'," & MTextBox1.Text & "," & MTextBox2.Text & "," & MTextBox3.Text & ")", conn)
    dove MTextBox1 - 2 - 3
    sono impostati a decimal

    è questo è l'errore


  7. #7
    Utente di HTML.it L'avatar di x69asterix
    Registrato dal
    Jan 2005
    Messaggi
    1,303
    scusate ma forse mi stò incasinando.
    Allora in effetti sono risalito al problema, praticamente non è un problema! ma bensì è dovuto al fatto che le tre textbox devono avere un valore presente perchè non accetta valori nulli!!
    cosa mi consigliate per ovviare al problema?
    come impostare i tre campi visto che gli stessi accettarano solo numeri come ad esempio:

    0,123
    10,01
    10

    grazie per l'attenzione!!

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Scusa, ma non si capisce perchè chiedi una soluzione che sai già.
    Se non accetta valori Null allora passagli i valori.

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da x69asterix
    allora se il campo viene lasciato in nvarchar ed inserendo gli apici nessun errore il record viene inserito, così come è scritta la query, ma se cambio in numeric o decimal è togliendo gli apici mi da nel caso di numeric un errore in prossimità di: { ','.}
    se in decimal problema di conversione
    Ma perché non si usano mai delle semplici e soprattutto sane query parametriche?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da alka
    Ma perché non si usano mai delle semplici e soprattutto sane query parametriche?
    Quoto, stra-quoto e ri-quoto !!!


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.