خوب اینجا مشخص نیست شما در dal.Execute چی نوشتین؟ ظاهرا از یکی از متدهای Execute مربوط به SqlCommand استفاده کردین. در مواقعی که فقط میخواین ببینید مقداری برگشت داده شده یا نه، میتونید از متد ExecuteNonQuery مربوط به SqlCommand استفاده کنید. خروجی این متد تعداد سطرهای تحت تاثیر اجرای Query هست که اگه 0 باشه یعنی هیچ مقداری SELECT نشده. در ضمن اگه شما میخواین فقط وجود یا عدم وجود رو بررسی کنید نیازی نیست که با * همه فیلدهای رو بی جهت SELECT کنید. میتونید فقط یک فیلد (مثلا Id) رو انتخاب کنید.
--
راه حل دیگه میتونه این باشه که شما بجای * SELECT از (*)SELECT COUNT در Query استفاده کنید و تعداد رکورد هایی که با شرط مورد نظر مطابقت دارن رو دریافت کنید. در این حالت مقدار خروجی (تعداد) رو میتونید با متد ExecuteScalar مربوط به SqlCommand ( با cast کردن خروجی که از نوع object هست به int) بدست بیارین و با 0 مقایسه کنید...