PDA

View Full Version : سوال: ايجاد فيلد Boolean با استفاده از دستور Select داخل برنامه



FCOMPUTE
دوشنبه 06 اردیبهشت 1389, 10:39 صبح
با سلام
من مي خواهم داخل برنامه با استفاده از دستور Select يك فيلد boolean و يك فيلد date تعريف كنم. فيلد عددي و رشته اي را راحت ميتوانم تعريف كنم ولي دو فيلد بالا را نمي دانم

select '' as dd, 0 as ff from test

M aJi D
دوشنبه 06 اردیبهشت 1389, 12:07 عصر
سلام.
متاسفانه سوالتون خيلي مفهوم نيست اما اگر منظورتون اينه كه 1فيلد boolean داريد و 1 فيلد date بايد بگم فيلد boolean خروجيش 0 يا 1 هست يعني در برنامتون ميتونيد تو 1 شرط 0يا 1 نتيجه را دريافت كنيد تا جايي كه يادم هست true و false هم جواب ميده.
اما date بايد موقع دريافت به صورت string دريافت كنيد.
در مورد boolean هم همين طور ميتونه باشه و به صورت string يا به صورت integer دريافت كنيد


Edit1.text := ADOQuery1.Fields[2].AsString
دقت داشته باشيد كه قبل از كد بالا بايد فيلد مورد نظر را جستجو كرده باشيد كه دستور جستجوتون ميتونه براي همه ي فيلدها باشه
ADOQuery1.SQL.Text := 'Select * from table1 where id = :id'
يا براي فقط همون فيلد


ADOQuery1.SQL.Text := 'Select [fildedate] from table1 where id = :id'

FCOMPUTE
چهارشنبه 08 اردیبهشت 1389, 09:44 صبح
با تشکر از جوابتان ، شاید من باید بیشتر توضیح میدادم
با دستور فوق select * ,'' as name,0 as salary from test کلیه فیلدهای جدول test می آید و همچنین 2 فیلد salary از نوع عددی و name از نوع رشته ای هم به آنها اضافه می شود یعنی اضافه بر فیلدهای فایل test می باشد حالا من می خواهم 2 فیلد اضافه دیگر هم ایجاد شود یکی از نوع boolean و دیگری از نوع date ، نحوه تعریف نوع boolean و date را دستور select جهت ایجاد آنها نمیدانم

M aJi D
چهارشنبه 08 اردیبهشت 1389, 12:25 عصر
سلام.
يعني شما ميخوايد توي جدول بانكتون 2تا فيلد با نوعهايي كه گفتيد بسازيد يا اين 2 فيلد را در جدول داريد و ميخوايد توي dbgrid بياريدشون.
توضيحاتتون واضح نيست دوست عزيز بگيد چي مي خوايد نه اينكه چيانجام ميديد دستور select براي جستجو هست در حالي كه شما دستور ساخت فيلد را مي پرسيد

afsoon_k77
چهارشنبه 08 اردیبهشت 1389, 15:07 عصر
میتونی از این دستور استفاده کنی



select *,cast(0 as bit ),cast ('1999/01/02' as datetime )from anbar


موفق باشی

حسین شهریاری
چهارشنبه 08 اردیبهشت 1389, 16:38 عصر
سلام

با احترام به نظر کلیه عزیزان:
کار دوستمون با همون دستور CASE حل میشه.
حالت کلی:


CASE input_expression
WHEN when_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
]
END


مثال:

SELECT Category =
CASE type
WHEN 'popular_comp' THEN 'Popular Computing'
WHEN 'mod_cook' THEN 'Modern Cooking'
WHEN 'business' THEN 'Business'
WHEN 'psychology' THEN 'Psychology'
WHEN 'trad_cook' THEN 'Traditional Cooking'
ELSE 'Not yet categorized'
END,
CAST(title AS varchar(25)) AS 'Shortened Title',
price AS Price
FROM titles
WHERE price IS NOT NULL
ORDER BY type, price
COMPUTE AVG(price) BY type
GO

مثال خود راهنمای SQL هست.میتونین ازش ایده بگیرید و کارتونا حل کنید.
در ضمن این تیپ سوالات را در بخش SQl بفرمایید تا آقای ثباتی و سایر عزیزان بتونند کمک بیشتری بکنند.

موفق باشید