Salve, ho creato una form con delle textbox che deve inserire in un db dei dati, anche nulli. Il problema è proprio che, quando non metto nulla nella textbox, in realtà viene visto il valore come "" e non viene inserito nel db.
Con una soluzione che non mi piace per nulla, ho messo dei null nelle text box se il loro testo è "", per i campi interi anche da problemi, e ho dovuto mettere degli zeri.

Per caso conoscente una soluzione migliore? Allego il codice
codice:
protected void ButtonAggiungiCorso_Click(object sender, EventArgs e)
        {
            //Codice che accede al db e aggiunge i dati nel db
            //Crea un oggetto Connection per connettersi al db
            OleDbConnection conn = new OleDbConnection(connStr);

            //Comando per estrarre l'ID massimo
            OleDbCommand cmd_id_max = new OleDbCommand("SELECT Max(Id_Corsi) FROM tab_Corsi", conn);

            //Max conterrà il valore letto dalla query
            int max = 0;
            try
            {
                conn.Open();
                max = (int)cmd_id_max.ExecuteScalar();
                max += 1;
            }
            catch (OleDbException)
            {
                // Handle exception.

            }
            finally
            {
                conn.Close();
            }

            //Se max!0 è andata bene la lettura dell'ID, continuo
            
            if (max!=0)
                try
                {
                    //Comando per inserire un nuovo ruolo
                    OleDbCommand cmd_inserisci = new OleDbCommand("INSERT INTO tab_Corsi" +
                      "(Id_Corsi, Nome_Corso, Crediti, Ssd, Tipo_Corso, Descrizione, Ore_Lezioni, Ore_Esercitazione, Ore_Laboratorio, Ore_Seminaio, Curriculum, Prerequisiti, Esame)" +
                      " Values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", conn);

                    if (TextBoxCrediti.Text == "")
                        TextBoxCrediti.Text = "0";

                    if (TextBoxSsd.Text == "")
                        TextBoxSsd.Text = null;

                    if (TextBoxTipoEsame.Text == "")
                        TextBoxTipoEsame.Text = null;

                    if (TextBoxDescrizione.Text == "")
                        TextBoxDescrizione.Text = null;

                    if (TextBoxOreLezioni.Text == "")
                        TextBoxOreLezioni.Text = "0";

                    if (TextBoxOreEsercitazioni.Text == "")
                        TextBoxOreEsercitazioni.Text = "0";

                    if (TextBoxOreLaboratorio.Text == "")
                        TextBoxOreLaboratorio.Text = "0";

                    if (TextBoxOreSeminario.Text == "")
                        TextBoxOreSeminario.Text = "0";

                    if (TextBoxCurriculum.Text == "")
                        TextBoxCurriculum.Text = null;

                    if (TextBoxPrerequisiti.Text == "")
                        TextBoxPrerequisiti.Text = null;

                    if (TextBoxEsame.Text == "")
                        TextBoxEsame.Text = null;

                    cmd_inserisci.Parameters.AddWithValue("@Id_Corsi", max);
                    cmd_inserisci.Parameters.AddWithValue("@Nome_Corso", TextBoxNomeCorso.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Crediti", TextBoxCrediti.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Ssd", TextBoxSsd.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Tipo_Corso", TextBoxTipoEsame.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Descrizione", TextBoxDescrizione.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Ore_Lezioni", TextBoxOreLezioni.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Ore_Esercitazione", TextBoxOreEsercitazioni.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Ore_Laboratorio", TextBoxOreLaboratorio.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Ore_Seminaio", TextBoxOreSeminario.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Curriculum", TextBoxCurriculum.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Prerequisiti", TextBoxPrerequisiti.Text);
                    cmd_inserisci.Parameters.AddWithValue("@Esame", TextBoxEsame.Text);


                    conn.Open();
                    cmd_inserisci.ExecuteNonQuery();
                    conn.Close();
                    Response.Redirect("/presidenza/successo.aspx");

                }
                catch (OleDbException)
                {
                    conn.Close();
                }
            }
Grazie