PDA

View Full Version : سوال: واکشی اطلاعات در صورت صحیح بودن شرط



naser_feb8646
یک شنبه 27 فروردین 1391, 00:42 صبح
سلام دوستان
من میخواستم اگر یه شرط درست بود اطلاعات از پایگاه داده واکشی بشه و اگر درست نبود بتونم بفهمم و به کاربر پیغام درست رو بدم
این sp هست که من دارم
CREATE PROCEDURE SelectExamName(@ExamId int,@DarsId nchar(4))
AS
IF (Exists(Select 1 From Table_Exam Where ExamId=@ExamId AND DarsId=@DarsId))
Begin
SELECT Table_Exam.grade, Table_Exam.UserNameStudent, Table_Student.family, Table_Student.name
FROM Table_Exam INNER JOIN
Table_Student ON Table_Exam.UserNameStudent = Table_Student.username
WHERE (Table_Exam.ExamId = @ExamId) AND (Table_Exam.DarsId = @DarsId)
END
حالا اگر از ExecuteReader استفاده کنم در صورت درست بودن شرط اطلاعات رو بر میگردونه و لی اگر شرط غلط بود باید چیکار کنم، از کجا بفهمم که شرط غلط بوده

na3er-faraji
دوشنبه 28 فروردین 1391, 00:30 صبح
تعداد سطرهای خروجیت رو چرا چک نمیکنی؟

mehdi.mousavi
دوشنبه 28 فروردین 1391, 16:24 عصر
سلام دوستان من میخواستم اگر یه شرط درست بود اطلاعات از پایگاه داده واکشی بشه و اگر درست نبود بتونم بفهمم و به کاربر پیغام درست رو بدم این sp هست که من دارم حالا اگر از ExecuteReader استفاده کنم در صورت درست بودن شرط اطلاعات رو بر میگردونه و لی اگر شرط غلط بود باید چیکار کنم، از کجا بفهمم که شرط غلط بوده

سلام.
شرطیکه در عبارت IF نوشته اید اضافی هستش، چرا که اون شرط رو در WHERE CLAUSE دستور SELECT آورده اید... بنابراین در مرحله اول، IF ای که نوشته اید رو حذف کنید. در مرحله دوم، کافیه تا تعداد Row های موجود در Result Set رو نگاه کنید. اگر صفر بود، یعنی شرط WHERE برقرار نبوده و اگر غیر صفر بود، Result های مورد نظر رو Iterate کنید و ...

موفق باشید.