Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [c#2005] insert into

  1. #1

    [c#2005] insert into

    ciao
    sto facendo una query x inserire un valora float.
    quando il valore ha la virgola succede un problema. tipo

    x = 0,5

    sql = insert into tbl values(x)

    probambilmente la vigola mi da noia, bisogna mettere qualche marcatore tipo#x# o come si può risolvere il problema?

  2. #2
    Prova con Cdec(x) oppure con una Replace(cstr(x),",",".")

  3. #3
    rimpiazzando la virgola col punto va!

    e io che ho messo dentro la stringa sql un disastro di funzioni convert....

    Grazie mille

  4. #4
    Se usi i Parameter elimini il problema, gli specifichi il tipo di dato e sei a posto.
    ...NO ONE IS INNOCENT ANYMORE...

  5. #5
    pur usando i parameter il problema rimane.

  6. #6
    utilizzando i Parameter con il costruttore Parameter(nomeparametro,tipo).Value = valore il problema persiste? strano.. non mi è mai capitato. Potresti postare qualche esempio di codice da te utilizzato?
    Davide

  7. #7
    oddio sotto mano non ho niente, comunque mi dava lo stesso problema di quando usavo una stringa tipo

    6,5 anzichè 6.5

  8. #8
    cerco di spiegarmi meglio

    per ovviare a questo tipo di problemi, inerenti punti virgola etc, è buona pratica utilizzare il tipo .NET corrispondente al tipo corrispondente del tuo database, ed evitare di fare l'insert componendo la query come un stringa (es. query ="INSERT INTO a,b VALUES ("+ variabile1+","+variabile2 etc..)

    anzichè concatenare la stringa della query, ADO.NET ci mette a disposizione i Parameters. Credo che tu li abbia già utilizzati, giusto?

    nel caso del float, secondo me devi utilizzare un tipo equivalente in net, che potrebbe essere il double:

    Codice PHP:
    double mioNumero =10.32
    e poi passarlo al database attraverso un parametro di tipo corrispondente. Nel mio esempio utilizzo il driver OleDb:

    Codice PHP:
    OleDbParameter param = new OleDbParameter("@param1"OleDbType.Double).Value mioNumero
    così facendo, non dovrai preoccuparti di conversione della stringa sostituendo punti, virgole e quant'altro.

    Se ti serviserro maggiori informazioni sull'utilizzo dei parametri puoi trovarle a questo link su MSDN (OleDB) oppure chiedi pure qui sul forum, indicando però nello specifico il tipo di database che utilizzi e qualche spezzone di codice della tua insert che ti da errore

    ciao!
    Davide

  9. #9
    esattamente.

    Avevo fatto così ma non mi funzionava. Probabilmente ho errato da qualche parte.

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.