Textbox ktory reaguje na błedy

Mam pytanie mam program połączony z bazą i wpisuję do bazy dane za pomocą textboxa I mam pytanie chcialbym zrobić zabezpieczenie aby nie można było wpisać liter .Tylko i wyłącznie liczby (ograniczone do 9 znaków)i np jak uzytkownik wpisze liczby i da znak spacji zeby wyskakiwał message box show"Wcisnołeś znak zpacji " Lub też po wpisaniu liter Rownież wyskoczyl komunikat Proszę o jakąkolwiek pomoc z góry dziękuje

nazwij temat konkretnie.

Zawsze podaj od razu w czym to piszesz, bo tak to możemy sobie jedynie gdybać.

W każdym bądź razie, ja bym zastosował wyrażenie regularne, a mianowicie takie:

[0-9]{9}

Jak coś takiego pojawi się w wyniku współpracy z aplikacją, to z miejsca zamknę ją i przestanę używać.

Przed wysłaniem danych sprawdź zawartość kontrolek. Zrób to wyrażeniem regularnym albo próbując konwersji na docelowy typ.

I nie wiem jakie są komendy aby mozna było tylko wpisywać liczby lub żeby zrobic ograniczenie dł znaków , lub czy nie wpisano spacji

Komendy? Jeśli pytasz o wyrażenia regularne - wystarczy wpisać “wyrażenia regularne” w google, żeby poznać ich konstrukcję.

http://www.codeguru.pl/article-58.aspx tutaj masz wszystko ładnie rozpisane.

Kurcze probuje

mam cos takiego

string wzorzec = @"^[0-9]{9}?";

if (textBox1.Text==wzorzec

)

{

label1.Text = textBox1.Text;

}

//chcialbym żeby mozna bylo tylko wpisac cyfry z przedziału od zera do 9 i zeby ich było 9 (nie mniej) Ale coś mi to nie wychodzi pomóżcie

string wzorzec = @"^[0-9]{9}?";

Regex regExp = new Regex(wzorzec);

if (!regExp.IsMatch(textBox1.Text))

{

    MessageBox.Show("Nie pasuje do wzorca!");

}

Powinno działać. Musisz dodać using System.Text.RegularExpressions pod innymi using w pliku .cs.

Działa tylko jak wpisze 10 cyfr to terz dzziala i w ogóle jesli po 9 liczbie wpisze litere tez działa…:frowning:

string wzorzec = @"^[0-9]{9}$";

? -> $

A jak sprawdzić czy ten numer z texboxa juz istnieje w bazie?

Zapewne musiał bym napisać select-a który wyświetla nr z bazy przez parametr i porównać parametr z wartościa w texbox ??

Czy ktoś mógł by mp powiedzieć jak to sprawdzanie zrobić?

z selectem nie mam problemu tylko potrzebuje sprawdzenie - porównanie 2 numerów

Dobrze przypuszczasz. :slight_smile: Porównanie jest proste - odczytujesz wartość z textboxa i robisz SELECT count(*) FROM tabela WHERE wartosc=@TwojaWartoscZTextboxa - jeśli zwróci 0 to znaczy że nie ma, jak jeden, to jest, jak więcej niż jeden to pewnie coś skopałeś, bo nie bez przyczyny chcesz sprawdzić, czy już istnieje w tabeli. :wink: