Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    c#-SQLSERVER 2005: data non valorizzata da codice c#

    ciao ho bel problma che no riesco a risolvere:


    allora io ho una tabella a db che ha 4 colonne
    id: lo valorizzo con l'identity
    codice1: li valorizzo da codice c# (uso T-SQL)
    codice2:: li valorizzo da codice c#(uso T-SQL)
    data_insert

    ogni volta che insersco un nuovo record vorrei che per quel record inserito la data si valorizzasse con la data corrente

    esempio:

    se oggi inserisco primo record allora a db avro id = 1, codice1=1111, codice2=2222, data_insert = 21/06/2010

    se domani inserisco secondo record allora a db avro id = 12, codice1=3333, codice2=4444, data_insert = 22/06/2010

    ho definito a livello di db un costraint sulla data che ad ogni insert ha di default la data corrente, e se faccio un insert da server management studio valorizzo correttamete la data
    mentre se lancio il codice c# non mi valorizza la data a db

    posto il codice

    non riesco davvero a capire perchè lanciandolo da c# non và
    mi date due dritte?

    codice:
    private void button1_Click(object sender, EventArgs e)
    {
    
    //creiamo istanza della tabella
    t_blacklist tbList = new t_blacklist();
    //stabiliamo la connessione col db
    MyConnectionDB_SCDataContext conDb = new MyConnectionDB_SCDataContext();
     
    try
    {
    //il controllo sulla lugnhezza del valore immesso
    //è stato definito a livello di lunghezza massima dei campi
    if ((newSC.Text.IndexOf("+") == -1) && (oldSC.Text.IndexOf("+") == -1))
    {
    //trasformo i valori immessi nella tetxbox in valori di tipo long
    //quindi se vengono immessi dei caratteri strani, l'applicazione va in eccezzione
    tbList.NEW_CARD = Convert.ToInt64(newSC.Text);
    tbList.OLD_CARD = Convert.ToInt64(oldSC.Text);
    //verifico che i valori immessi siano entrambi positivi
    //cioè controllo che onon venga immesso il carattere meno
    if ((tbList.NEW_CARD >= 0) && (tbList.OLD_CARD >= 0))
    {
    //tbList.ID_CLIENTE=tbd 
    foreach (Control c in groupBox1.Controls)
    {
    if (c.GetType() == typeof(RadioButton) && ((RadioButton)c).Checked)
    {
    tbList.DESC_CAUSALE = ((RadioButton)c).Text;
    }
    }
     
    //effettuo l'insert a db
    conDb.t_blacklists.InsertOnSubmit(tbList);
    //effettuo il commit a db
    conDb.SubmitChanges();
    //chiudo il form:scelta opzionale
    this.Close();
    }
    else
    {
    MessageBox.Show("Inserito un valore negativo!!!", "Attenzione!");
    }
    }
    else 
    {
    MessageBox.Show("Inserito carattere + non permesso!!!", "Attenzione!");
    }
    }
    //visualizzo questa eccezzione quando il valore immesso non
    // è previsto (esempio se immetto una stringa)
    catch (FormatException)
    {
    MessageBox.Show("Inserito un valore non corretto!!!", "Attenzione!");
    return;
    }
    finally
    {
    newSC.Text = "";
    oldSC.Text = "";
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    69
    Ciao,
    senza la definizione di t_blacklist() non riesco ad aiutarti, per ora l'unico consiglio che posso darti è quello di impostare come Not Null il campo data ed intercettare l'errore da codice, questo potrebbe darti indicazioni aggiuntive.

    Se fai la prova aggiungi questa gestione di eccezione prima della tua:

    codice:
    catch (SqlException objSqlEx)
    {
         MessageBox.Show("Eccezione: " + objSqlEx.Message.ToString(), "Attenzione!");
    }

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.