PDA

View Full Version : مقاله: طریقه نوشتن شرط



a-azad
دوشنبه 30 اردیبهشت 1387, 22:17 عصر
سلام ببخشیدسوالم ممکن خیلی ابتدایی باشه.دوتا جدول دارم که ارتباطشون از طریق فیلد مسافت(one to many.)من توی جدول 1یا اصلی اطلاعات به صورت زیرابتداوارد می کنم.مبدا ومقصدومسافت.حالا می خوام شرطی بنویسم اگر اطلاعات واردشده در مبداءومقصد با اطلاعات مبداءومقصدکه قبلا واردشده یکی بود (یعنی andاین دوتا بود)بیاد مسافت نمایش بده.آیا باید به صورت دستی بنویسم if source=tehran and destination=karaj then distance=100
این جوری 100 خط کدباید بنویسم.ممنون اگه کدش بنویسین.

حمیدرضاصادقیان
سه شنبه 31 اردیبهشت 1387, 05:38 صبح
سلام .شما باید به صورت زیر بنویسی.


select Distance,Destination from table1 where Destination=karaj and distance=100

حالا میتونی این دستور رو داخل یک sp قرار بدی و به جای مقدار فیلدهای Destination,Distance از پارامتر استفاده کنی و از داخل برنامه ات مقادیری که کاربر وارد میکنه رو بهش پاس بدی.
بعد تعداد رکوردهای برگردانده شده بیش از صفر بود مقادیر رو نمایش بده.

a-azad
سه شنبه 31 اردیبهشت 1387, 06:50 صبح
ممنون می شه کامل بنویسین

Arghavan_Reza
سه شنبه 31 اردیبهشت 1387, 10:02 صبح
یک SP به فرم زیر بنویسید:


CREATE PROCEDURE [dbo].[pGetDistance] (@Source Varchar(50), @Destination Varchar(50))
AS
SELECT Distance FROM City_Distance
WHERE Source = @Source
AND Destination = @Destination
GO

a-azad
چهارشنبه 01 خرداد 1387, 06:57 صبح
سلام.ممنون از جوابتون .حالا چطور از این procedureتوی دلفی استفاده کنم .

SYNDROME
چهارشنبه 01 خرداد 1387, 07:10 صبح
سلام.ممنون از جوابتون .حالا چطور از این procedureتوی دلفی استفاده کنم .
می توانی به این شکل اجرا کنی.


ADO.SQL.Text := 'Execute SP1 Param1,Param2'
ADO.ExecSQL;

ولی فکر نکنم برای یک دستور به این شکل استفاده از SP زیاد کمک کند.
بهتر است همین دستور را در ADO در دلفی بنویسی.
موفق باشید

a-azad
چهارشنبه 01 خرداد 1387, 09:01 صبح
ممنون می شم بیشتر توضیح بدین