PDA

View Full Version : مدیریت خطا در رویداد OnPostError یک DataSet



dkhatibi
یک شنبه 06 آبان 1386, 14:47 عصر
انک اطلاعاتی مورد استفاده MS SqlServer
خطاهای متعددی اتفاق می افتد مثلا ورود فیلد تکراری ، NULL وارد شدن، ورود فیلدهای خالی و...
چه طور می شه این خطاها را از هم بازشناخت تا بتونیم یک پیام خطای فارسی مناسب تولید کنیم؟
البته با متن پیام داده شده می شه اما راه سده ای هست؟

A.Nemati
یک شنبه 06 آبان 1386, 16:03 عصر
یک راهش گرفتن کد خطایی است که SqlServer تولید می‌کنه و به نسبت آن کد، دادن پیام مناسب فارسی است.
در sp مربوط به insert، کد خطا رو برگردون و در دلفی ازش استفاده کن.
البته من خودم اینکارو نکردم ولی می‌دونم که این راه عملیه.

afshinaghasi
دوشنبه 07 آبان 1386, 00:16 صبح
شاید قبل از وارد کردن یعنی add شدن یه بار جستجو کرد که اگر تکراری هست مثلا یه پیغامی بده من این کارو کردم البته باید کد sql باشه.
bye

dkhatibi
دوشنبه 07 آبان 1386, 06:45 صبح
یک راهش گرفتن کد خطایی است که SqlServer تولید می‌کنه و به نسبت آن کد، دادن پیام مناسب فارسی است.کد به شکل عدد است. برای فیلدهای مختلف تکراری کدهای عددی متفاوت ایجاد می شود؟

در sp مربوط به insert، کد خطا رو برگردون و در دلفی ازش استفاده کن.
منظورتان از SP چیه؟

Bahmany
دوشنبه 07 آبان 1386, 07:58 صبح
procedure TForm1.ADODataSet1PostError(DataSet: TDataSet; E: EDatabaseError;
var Action: TDataAction);
begin
if e.Message = 'Sample' then showmessage('پیغام خطا');
end;

A.Nemati
دوشنبه 07 آبان 1386, 16:51 عصر
منظور از SP همان Stored Procedure در SQLServer است.