ورود

View Full Version : Error Code در دلفی



kheyri
دوشنبه 03 بهمن 1384, 15:41 عصر
سلام دوستان
من از SQL SERVER و ADO استفاده میکنم و 100 تا دیتا بیس دارم و در هر دیتا بیس 10 تا تیبل . یک برنامه نوشتم که در یک حلقه به ترتیب از 1 تا 100 به دیتا بیس کانکت میشه و تیبل مورد نظر رو میخونه. حالا میخوام بدونم اگه این وسط یک دیتا بیس وجود نداشته باشه و یا تیبل مورد نظرم وجود نداشته باشه ، چطوری این اشکال رو کنترل کنم. یا بعبارتی دیگه ERROR CODE مربوطه رو چطوری بدست بیارم که توسط TRY ...EXCEPT کنترل خطا رو داشته باشم؟
با تشکر

mzjahromi
دوشنبه 03 بهمن 1384, 15:49 عصر
یه راه خیلی ساده اینه که یک بار تست کنی و توی Except بنویسی


on e:Exception do
showMessage('E.ClassName')

یا یه چیزی شبیه به این.

kheyri
دوشنبه 03 بهمن 1384, 16:37 عصر
مرسی جناب ذوالقدر
خود دلفی ERROR مربوطه رو بهم میده و من از کد شما استفاده کردم ولی جوابی نگرفتم. این هم کد برنامه ( توضیح اینکه connection_ متغیری از جنس استرینگ هست که کانکشن استرینگ در اون ذخیره شده)
adoconnection1.Connected:=false;
adoconnection1.ConnectionString :='';
adoconnection1.ConnectionString :=_connection;
try
adoconnection1.Connected:=true;
except
on e:Exception do
showMessage('E.ClassName')
end;

ممنون میشم اگه کمکم کنید.

mzjahromi
دوشنبه 03 بهمن 1384, 16:46 عصر
من که نگفتم این مشکلتون رو حل می کنه. این فقط کمک میکنه که کلاس هر خطا رو بفهمی همین

m-khorsandi
سه شنبه 04 بهمن 1384, 08:46 صبح
مشخصات Database ها در جدولی به نام sysdatabases در master ذخیره میشن، شما
میتونید با استفاده از این جدول وجود DB تون رو چک کنید :


select name
from master..sysdatabases
where name = 'mydatabase'

ebnsina
سه شنبه 04 بهمن 1384, 13:40 عصر
می تونید از EDatabaseError هم استفاده کنید به این صورت نوع و شماره خطای دقیقتری خواهید داشت.



on e:EDatabaseError do
// Do except handling here


هر چند که روش پیشنهادی آقای خرسندی بهتر است.

kheyri
سه شنبه 04 بهمن 1384, 16:07 عصر
خیلی ممنونم جناب خرسندی... کمک بزرگی بود. از آقای ذوالقدر هم ممنونم.
ارادتمند
خیری

vcldeveloper
چهارشنبه 05 بهمن 1384, 02:50 صبح
می تونید لیست خطاها ADO رخ داده در برنامه را به انضمام مشخصات خطا از طریق AdoConnection.Errors دریافت کنید.

hr110
چهارشنبه 05 بهمن 1384, 07:07 صبح
بی ربط :
در خصوص مدیریت خطاها در دلفی، کدها و پیغامهای مربوطه :
1- BDE : یک مثال در دلفی وجود دارد که میتوانید از مسیر demos.db.dberrors آنرا مشاهده کنید.
2- SQLServer لیست خطاهای در جدول master.sysmessages وجود دارد و در صورت نیاز میتوانید آنها را به فارسی برگردانید.
...

kheyri
دوشنبه 10 بهمن 1384, 16:34 عصر
خیلی ممنونم از جناب کشاورز و ربیعی و جهرمی که من خیلی از نظراتشون در تاپیک های مختلف استفاده کردم.

kheyri
دوشنبه 10 بهمن 1384, 16:36 عصر
راستی جناب خرسندی رو فراموش کردم و من مشکلم با راه حل ایشون حل شد. خیلی ممنون آقای خرسندی.