PDA

View Full Version : جلوگیری از دادن خطا هنکام وارد کردن عدد بزرگتر از 32767 در dbedit که نوع آن smallint



oghab
سه شنبه 24 آبان 1384, 14:46 عصر
سلام
من یک table در sql دارم که نوع آن از نوع smallint است. در مواردی که در دلفی insert را طریق کد نویسی انجام میدادم. قبل از insert این فیلد را که در یک edit وارد شده بود چک می کردم و اگر بزرگتر از 32767 بود پیغام خطا میدادم و روی آن edit.serfocuse می کردم.
حالا یک سری dbedit به table ام متصل است و برای insert از bdnavigator استفاده می کنم. در رویداد onexit این dbedit این شرط را چک می کنم. منها باز هم error می دهد. یعنی چون dbedit به table متصل است. قبل از اینکه کد onexit اجرا شود. خود دلفی یا sql پیغام خطا را می دهد. من چطور می توانم قبل از آن این مقدار را چک کند و در صورت بزرگ بودن عدد، پیغام دهد و روی آن dbedit.setfocuse کند!
ممنونم

mzjahromi
سه شنبه 24 آبان 1384, 18:42 عصر
موفق باشید


procedure TForm1.DBEdit2Change(Sender: TObject);
begin
if StrToInt(TDBEdit(Sender).Text)>32000 Then
Begin
TDBEdit(Sender).Text:='32000';
TDBEdit(Sender).SelStart:=Length(TDBEdit(Sender).T ext);
End
end;

oghab
سه شنبه 24 آبان 1384, 19:10 عصر
سلام
خیلی ممنون آقای ذوالقدر
با استفاده از کد شما درست شد
همیشه موفق و پیروز باشید

mzjahromi
چهارشنبه 25 آبان 1384, 09:01 صبح
خواهش .