PDA

View Full Version : [C#] SQL SERVER 2005: inserire a DB solo cifre numeriche senza segno


giangi_luca
20-06-2010, 15:24
Ciao, vorrei capire come posso risolvere il seguente problema.

ho una textbox nella quale l'utente deve inserire al max 10 cifre tutte numeriche e inserire tale valore a DB.

allora a DB ho definito la colonna come BIGINT (l'int era troppo piccolo per usarlo)

mentre da codice c# uso Convert.ToInt64 per
-trasformare il valore immesso nella textbox in un tipo long (l'int era troppo piccolo per usarlo)
-e gestisco cosi anche l'eccezzione nel caso vengano immessi caratteri strani.


ho due problemi
- se l'utente inserisci il segno + cioè +444
non da nessun errore.

il controllo da mettere per evitare di far inserie il +
è di usare un conrollo ditipo indexof e visualizzare l'errore oppure c'è un altro modo per evitare di immetter il + ?

grazie
Gianluca



grazie
Gianluca

Bad-WOLF-
22-06-2010, 15:01
Ciao,
ti conviene fare un replace con regular expression prima di immetere il valore nel db.

string valoreNumerico = System.Text.RegularExpressions.Regex.Replace(NomeTextBox.Text, @"[\D]", "");

In questo modo la variabile valoreNumerico avrà solo numeri, senza lettere o caratteri speciali, poi fai la conversione in Int64.