Salve, ho uno strano problema con una regular expression che convalida la data,
la regular erxpression fa il controllo dd/mm/aaaa ed è qyesta:
il codice dove la utilizzo è questa:codice:(0[1-9]|1[012])[ /.](0[1-9]|[12][0-9]|3[01])[ /.](19|20)\d\d
e la richiamo per un'altra funzione per l'inserimento:codice:private bool DataExpression(string data) { bool valid = false; string pattern = @"(0[1-9]|1[012])[ /.](0[1-9]|[12][0-9]|3[01])[ /.](19|20)\d\d"; Regex date = new Regex(pattern); Match m = date.Match(data); valid = (m.Success) ? true : false; return valid; }
Però non mi funziona mi dice che il formato è errato;codice:public void insert(TextBox Data, string nome, TextBox oper, string cmp, string vend, TextBox phone, string rec, string extra, string recupero, string user, Label Errori, DropDownList Nominativo, DropDownList Campagna, DropDownList Vendita, DropDownList REC) { try { if (this.DataExpression(Data.Text.Trim()) == false) throw new ArgumentException("Spiacente ma il Formato data non è corretto"); if (this.CheckPhone(phone, Errori) == false) throw new ArgumentException("Il Campo Telefono deve iniziare con lo 0"); if (Nominativo.SelectedItem.Text.Trim() == "" || Campagna.SelectedItem.Text.Trim() == "" || Vendita.SelectedItem.Text.Trim() == "" || REC.SelectedItem.Text.Trim() == "") throw new ArgumentException("I Campi Nominativo,Campagna,Vendita e REC sono campi Vuoti"); OleDbCommand cm = conn.CreateCommand(); conn.Open(); cm.CommandText = "INSERT INTO Operazioni(Data,oper,nominativo,campagna,vendita,telefono,rec,extrafile,recuperato,caricato)VALUES(@Data,@oper,@nominativo,@campagna,@vendita,@telefono,@rec,@extrafile,@recuperato,@caricato)"; cm.Parameters.Add("@Data", OleDbType.Date).Value = DateTime.Parse(Data.Text.Trim()); cm.Parameters.Add("@oper", OleDbType.VarChar).Value = oper.Text; cm.Parameters.Add("@nominativo", OleDbType.VarChar).Value = nome; cm.Parameters.Add("@campagna", OleDbType.VarChar).Value = cmp; cm.Parameters.Add("@vendita", OleDbType.VarChar).Value = vend; cm.Parameters.Add("@telefono", OleDbType.VarChar).Value = phone.Text.Trim(); cm.Parameters.Add("@rec", OleDbType.VarChar).Value = rec; cm.Parameters.Add("@extrafile", OleDbType.VarChar).Value = extra; cm.Parameters.Add("@recuperato", OleDbType.VarChar).Value = recupero; cm.Parameters.Add("@caricato", OleDbType.VarChar).Value = user; cm.ExecuteNonQuery(); Errori.Text = "Dato Inserito Correttamente"; Nominativo.SelectedIndex = 0; oper.Text=""; Campagna.SelectedIndex = 0; Vendita.SelectedIndex = 0; phone.Text=""; REC.SelectedIndex = 0; extrafile.SelectedIndex=0; recuperato.SelectedIndex=0; } catch (OleDbException er) { Errori.Text = er.Message + er.StackTrace + er.Source; } catch (Exception errori) { Errori.Text = errori.Message; } finally { if (conn != null) conn.Close(); } }
Mi potete aiutare per piacere?
Grazie

Rispondi quotando