Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di EnSa
    Registrato dal
    Apr 2009
    Messaggi
    191

    [C# - DBF] Errore inserimento record

    Questo è il mio codice:
    codice:
                        string DBFString = @"Provider=vfpoledb.1;Data Source=" + System.Environment.CurrentDirectory + @"\Dati\";
                        OleDbConnection conn = new OleDbConnection(DBFString);
                        string myInsertQuery = "INSERT INTO Mag (codice, descrizione, data) Values('COD', 'DESC', '  /  /    ')";
                        OleDbCommand myCommand = new OleDbCommand(myInsertQuery, conn);
                        conn.Open();
                        myCommand.ExecuteNonQuery();
                        conn.Close();

    Quando provo a fare l'inserimento di un nuovo record mi dice "Data type mismatch" per il campo data

    nel database il campo è impostato come tipo Date 8 caratteri NOT NULL

    come faccio per lasciare la data vuota all'inserimento di un nuovo record??

    Grazie per l'aiuto

  2. #2
    Se il campo data non lo vuoi valorizzare toglilo dalla definizione della query:
    codice:
    string myInsertQuery = "INSERT INTO Mag (codice, descrizione) Values('COD', 'DESC')";
    In ogni caso ti consiglio caldamente di usare i parametri.
    Chi non cerca trova.

  3. #3
    Utente di HTML.it L'avatar di EnSa
    Registrato dal
    Apr 2009
    Messaggi
    191
    se lo tolgo dalla definizione della query mi dice che il campo non accetta valori nulli ...

    se gli metto una qualsiasi data (es. '01/12/2010') mi da sempre lo stesso errore ...

  4. #4
    Beh si, giustamente, se il campo lo hai definito come NOT NULL non puoi lasciarlo senza valore. Non conosco la sintassi esatta nel SQL di DBF, quasi certamente non è corretto indicare una data tra apici. Da una ricerca veloce in internet sembra che la sintassi preveda l'uso del cancelletto, in questo modo:
    codice:
    INSERT INTO Mag (codice, descrizione, data) Values('COD', 'DESC', #2010-12-01#)
    La data va scritta nel formato yyyy-mm-dd.
    Se usi i parametri risolvi di sicuro i problemi da te evidenziati (che a mio modo di vedere hanno un'unica causa), in quanto non ti devi preoccupare di come devi scrivere la data.
    Chi non cerca trova.

  5. #5
    Utente di HTML.it L'avatar di EnSa
    Registrato dal
    Apr 2009
    Messaggi
    191
    con la funzione date() mi inserisce correttamente la data corrente ... è possibile personalizzarla con una data vuota???


    altrimenti come posso implementarla con i parametri?? (sempre che con essi si possa inserire una data vuota es. " / / ")

    grazie mille per l'aiuto

  6. #6
    Come ti ho già scritto prima, avendo definito il campo NOT NULL non puoi inserire una data vuota.
    Ad ogni modo guarda questo link:
    http://microsoft-it.confusenet.com/s...d.php?t=291391
    Chi non cerca trova.

  7. #7
    Utente di HTML.it L'avatar di EnSa
    Registrato dal
    Apr 2009
    Messaggi
    191
    risolto con {^ / / }

    grazie mille

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 © 2026 vBulletin Solutions, Inc. All rights reserved.