PDA

View Full Version : کنترل داده ها قبل از پست



karzari
چهارشنبه 04 اردیبهشت 1387, 23:23 عصر
سلام

من یه برنامه دارم که از یه سری جدول دارای کلید استفاده میکنه و در sql server ایجاد شده

حالا می خوام وقتی که کاربر یک اشتباهی کرد یا مثلا مقدار یک فیلد کلید رو دوبار وارد کرد پیغامی که از طرف برنامه میاد کنترل شده توسط خودم باشه مثلا من خودم بتونم قبل از پست بررسی کنم که مقدار تکراری هست یا نه ؟

لطفا با مثال راهنمایی کنید ممنون میشم

vcldeveloper
پنج شنبه 05 اردیبهشت 1387, 01:45 صبح
برای کنترل خطا می تونید از ساختارهای کنترل خطا try - except و try - finally استفاده کنید.
برای کنترل مقادیر ورودی قبل از ارسال آنها به بانک، می تونید از رویداد OnBeforePost در دیتاست مربوطه استفاده کنید.
درباره هر دو قبلا بحث شده.

delphiprog3000
پنج شنبه 05 اردیبهشت 1387, 08:30 صبح
در ادامه صحبتهای جناب کشاورز.

اگر هم از ابزارهای Ado استفاده میکنید. میتوانید یه جستجو را به دیتابیس پاس بدید و از نتیجه آن متوجه شوید که این مقدار تکراری است یا خیر .

به طور مثال:



var str1,str2:string;


str1:='select * from tblcustomer where code_id like '+QuotedStr(edt_code_id.Text);

str2:=' insert into tblcustomer (name,family,code_id) values ('+QuotedStr(edt_name.Text)+','+QuotedStr(edt_fami ly.text)+','+QuotedStr(edt_code_id.Text)+')';

with Qry_customer do
begin
close;
SQL.Text:=str4;
open;
if not IsEmpty then
begin
ShowMessage('کد ملی تکراری است');
edt_code_id.SetFocus;
end
else
begin
try
close;
SQL.Add(str1);
ExecSQL;
Except
on MyException:Exception do
begin
ShowMessage(MyException.Message);
end;
end;
end;
ابتدا عبارت str1 اجرا مشود و بعد از آن str2 که عمل ورود را انجام میدهد اجرا میشود.

موفق باشید.......................