PDA

View Full Version : دستور SELECT



hsmfaridmehr
دوشنبه 17 فروردین 1388, 16:11 عصر
سلام

می خواستم بدونم چطور می شه که بتونیم با SELECT چند فیلد رو هم زمان واسه رکوردامون
جستوجو کنیم مثلا اگه نام رو وارد کردیم تمام کسایی که نامشون با نام وارد شده برابر بیاره و بعد
اگه آدرسو وارد کردیم کسایی رو بیاره که هم نام و هم آدرسشون با اونایی که وارد کردیم برابر بیاره

ممنون میشم اگه جواب بدین

mom alone
دوشنبه 17 فروردین 1388, 16:46 عصر
خوب یه عملگر منطقی وجود دارد به نام OR


WHERE NAME='ali' or ader='yazd'


عزیزم یا من سوالتو بد فهمیدم و یا .........
در این حالت اگه فیلد آدرس خالی باشه و فقط نام پرشده باشه
فقط رکورد هایی که نام آنها 'ali' باشد پیدا می شود

hsmfaridmehr
دوشنبه 17 فروردین 1388, 19:53 عصر
خوب در این حالت اگه حتی یکی از اون دوتا رو داشته باشه میاره ولی من می خوام فقط رکوردایی رو بیاره که هر دو رو داشته باشه

araelectronic@ymail.com
دوشنبه 17 فروردین 1388, 20:05 عصر
با سلام



where name = "reza" and add="tabriz

hsmfaridmehr
دوشنبه 17 فروردین 1388, 20:29 عصر
من میخوام از این دستور توی برنامه ای که با سی شارپ نوشتم استفاده کنم و میخوام وقتی کاربر نام رو وارد کرد تمام کسایی که نامشون با نام وارد شده برابر بیاره و بعد
اگه آدرسو وارد کرد کسایی رو بیاره که هم نام و هم آدرسشون با اونایی که وارد کردیم برابر بیاره بدون اینکه بخواییم تابعی رو بارگذاری کنیم

SELECT * FROM Customer WHERE FirstName='ali' Address='iran'

خوب این فقط واسه حالتی که نام و آدرسو وارد کرده باشیم یعنی نمیشه یک دستور کلی واسه اینکه اگه 1 فیلد یا دو یا همه رو وارد کرد بتونه تمام مشخصات افراد و بیاره

araelectronic@ymail.com
دوشنبه 17 فروردین 1388, 22:25 عصر
با سلام
دوست عزيز براي اينكار بايد برنامه بنويسيد با دستور sql نميشه

بايد با دستور شرط تعيين كنيد اگر فقط اسم وارد بشه از دستور sql براي اسم و اگر هر دو وارد شد از دستور ذكر شده استفاده بشه . البته دو دستورو ميشه يكي كرد ولي لزومي نداره اگه اين روش كارتونو راه نينداخت بگيد تا اونم توضيح بدم

موفق باشيد

hsmfaridmehr
دوشنبه 17 فروردین 1388, 22:54 عصر
من الان در جدول مشتری هام 7 فیلد دارم باید 128 تا دستور SELECT بنویسم

مثلا اگه نام و کد رو وارد کرد SELECT * WHERE FirstName='ali' ID=12
یا فقط تاریخ عضویت SELECT * WHERE DATE=1388/1/16
یا نام و نام خانوادگی SELECT * WHERE FirstName='ali' LastName=kiani
یا آدرس و تلفن.....................
یا ............ برای هر کدوم یکی بنویسم؟:گریه:

mom alone
دوشنبه 17 فروردین 1388, 23:23 عصر
نه خوب اولا فکر می کنم راه دیگری داشته باشه
ولی کلک رشتی اون این است که
دستور سلکت رو به صورت پویا بنویسی


comselect="select * from maintable where "

if(!name.text.equal(""))
comselect+="name=ali"
if(!ader.text.equal(""))
comselect+="and ader=dfjkghdkf"
...
.
.
.
.






البته باید با کد یه جوری کنترل کنی که اگه مثلا نام وارد نشده
AND اضافی در خط بعدی اظافه نشه


اونی که من نوشتم شبه کد بودااااااااااا
باید خودت درستش کنی

hsmfaridmehr
دوشنبه 17 فروردین 1388, 23:31 عصر
مرسی از جواب