امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
دستور SELECT با WHERE تر كيبي!
نویسنده پیام
Mohandese_Javan آفلاین
در حال پیشرفت
***

ارسال‌ها: 345
موضوع‌ها: 90
تاریخ عضویت: فروردین ۱۳۸۴

تشکرها : 1
( 39 تشکر در 23 ارسال )
ارسال: #1
دستور SELECT با WHERE تر كيبي!
سلام!
من ميخوام تو يه جدول با WHERE حالت جستجوي تركيبي( بر اساس 3 فيلد) به وجود بيارم.
وقتي اين كد رو مينويسم(حالت ثابت) جواب ميده:
کد:
CM.CommandText = "SELECT * FROM DaroTBL WHERE DaroName='Asetaminofen' and doz='100mg' and shape='tablet'"
اما وقتي ميخوام دايناميكش كنم يعني كاربر اونو از ورودي بگيره توسط تكس باكس كار نميكنه
اين كد رو نوشتم:
کد:
CM.CommandText = "SELECT * FROM DaroTBL WHERE DaroName=" & "'" & Text1.Text & "' And doz=" & "'" & Text2.Text & "' And shape=" & "'" & Text3.Text & "'"
به نظرتون كجاي كد ايراد داره؟
خطايي كه ميده ناشي از اينه كه موردي پيدا نشده نه اينكه سينتكس اشتباهه.
ممنو نم اگه كمك كنيد.
۲۷-دى-۱۳۸۴, ۰۰:۵۸:۰۵
ارسال‌ها
پاسخ
endevb آفلاین
تازه وارد

ارسال‌ها: 13
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #2
 
سلام دوست عزيز
البته شما دقيق تر توضيح ميداديد بهتر بود . مثلا اينكه ديتابيستون چيه . مافكرميكنيم SQLServer باشه . ببينيد دوست عزيز شما وقتي به قول خودتون توي حالت ثابت اينكارو انجام ميديد
CM.CommandText = "SELECT * FROM DaroTBL WHERE DaroName='Asetaminofen' and doz='100mg' and shape='tablet'
خوب يعني شما اطلاعات رو كامل بهش داديد اما زماني كه داريد از يه تكست باكس يا متغير ورودي ميگيريد اولين وبهترين كار اينه كه با دستور Trim فضاهاي اضافي رو ازبين ببريد. واگه بازم جواب نداد كه احتمالا جواب ميده بجاي مساوي بهتره كه از Like استفاده كنيد و الباقي وروديتون هم علامت ٪ همراش باشه . مثلا

CM.CommandText = "SELECT * FROM DaroTBL WHERE DaroName Like " & "'" & Trim(Text1.Text) & "%' And doz Like " & "'" & Trim(Text2.Text) & "%' And shape Like " & "'" & Trim(Text3.Text) & "%'"

البته اين چيزاي بود كه بنظر من رسيد. اميدوارم كه درست متوجه شده باشم و درست راهنمايي كرده باشم . اگه حل شد بگو و اگه هم با اينكار حل نشد بگو كه اساتيد اين سايت بهتر از ما البته ميتونن كمك كنند.
موفق و پايدارباشيد
(آخرین ویرایش در این ارسال: ۲۸-دى-۱۳۸۴, ۰۱:۵۲:۴۹، توسط endevb.)
۲۷-دى-۱۳۸۴, ۰۲:۲۷:۱۲
ارسال‌ها
پاسخ
Mohandese_Javan آفلاین
در حال پیشرفت
***

ارسال‌ها: 345
موضوع‌ها: 90
تاریخ عضویت: فروردین ۱۳۸۴

تشکرها : 1
( 39 تشکر در 23 ارسال )
ارسال: #3
 
سلام!
دوست عزيز من سوالم رو تو اين قسمت مطرح كردم پس مشخصه ديتابيس من اس كيو ال هست. من تابه تريم رو امتحان كرده بودم جواب نداد. علامت ٪ كه شما گفتيد رو هم امتحان كردم. بازم بي فايده بود! :cry:
اگه راه ديگه اي به نظرتون ميرسه كمك كنيد.
ممنون!
۲۸-دى-۱۳۸۴, ۰۰:۲۰:۲۶
ارسال‌ها
پاسخ
endevb آفلاین
تازه وارد

ارسال‌ها: 13
موضوع‌ها: 1
تاریخ عضویت: مرداد ۱۳۸۴

تشکرها : 1
( 0 تشکر در 0 ارسال )
ارسال: #4
 
دوست عزيز اولا معذرت بنده رو بخاطر نديدن بالاي تاپيك بپذيريد.
بنده صفحه اول رو كه عناوين آخرين تاپيكها بود ديدم و روش كليك كردم . حواسم به بالاي صفحه نبود ببخشيد . دستور رو هم بنده گفتم بجاي مساوي بهتره از Like استفاده كنيد كه متاسفانه نوشته بودم (بعلت كپي + Paste ) .
:wink:
بايد مشكل حل بشه والا اگه اينجوري نشه ديگه نميدونم چي بگم . بهتره كه بزرگترها جواب بدن .
۲۸-دى-۱۳۸۴, ۰۱:۵۸:۵۴
ارسال‌ها
پاسخ
mamad_it آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 0
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: دستور SELECT با WHERE تر كيبي!
سلام

من يه جدول دارم كه بصورت زير
--------------------------------------- جدول يك
كد پرسنلي كليد اصلي
نام
نام خانوادگي
تلفن
------------------------------------- جدول دوم
كدپرسنلي
شماره تلفن
نام خانوادگي
-------------------------------------------
حالا مي خواهم شماره پرسنلي افرادي را بدست بياورم كه جزء جدول دومي نباشد كمك كنيد
۲۶-تير-۱۳۹۱, ۱۸:۱۴:۱۹
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #6
RE: دستور SELECT با WHERE تر كيبي!
باید یک Left Outer Join به جدول دوم بزنی و تو شرطش هم مقرر کنی تنها رکوردهایی رو

بیاره که مثلا کدپرسنلی جدول دوم برابر Null باشه.

کد:
Select * From Table1
Left Outer Join Table2 on Table1.PersonelNo=Table2.PersonelNo
Where Table2.PersonelNo IS Null

۲۷-تير-۱۳۹۱, ۰۸:۵۸:۲۱
وب سایت ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [فوری] کمک برای دستور select Mrirani 1 975 ۰۵-مرداد-۱۳۹۸, ۰۲:۵۳:۳۲
آخرین ارسال: far_222000
  SELECT The.Ghost 2 2,672 ۱۶-خرداد-۱۳۹۵, ۰۹:۵۸:۰۹
آخرین ارسال: lord_viper
  اجرای چند دستور همزمان Ghoghnus 1 2,533 ۱۶-تير-۱۳۹۳, ۰۲:۴۰:۵۱
آخرین ارسال: far_222000
  دستور DELETE aleas 1 2,567 ۲۶-خرداد-۱۳۹۳, ۱۵:۴۳:۴۲
آخرین ارسال: babyy
  [سوال] select & Case or having mesmslampanah 10 7,134 ۰۷-خرداد-۱۳۹۲, ۱۶:۴۳:۵۱
آخرین ارسال: mesmslampanah
  دستور sql stringf 1 2,893 ۱۲-تير-۱۳۹۱, ۲۱:۲۵:۰۳
آخرین ارسال: lord_viper
  مشکل عجیب در اجرای دستور Like در SQL sepahbod 0 2,950 ۱۷-آذر-۱۳۹۰, ۱۹:۴۲:۳۰
آخرین ارسال: sepahbod
  ارسال دستور به کلاینت Payman62 13 10,530 ۱۱-شهریور-۱۳۸۸, ۱۸:۰۷:۵۹
آخرین ارسال: Payman62
  چرا؟ select sav68 21 14,928 ۲۴-اسفند-۱۳۸۷, ۱۶:۵۹:۳۸
آخرین ارسال: sav68
Question ذخیره نتیجه یک دستور سلکت در داخل یک تیبل saeed_vbvb 1 3,565 ۲۴-اسفند-۱۳۸۵, ۲۰:۵۱:۰۰
آخرین ارسال: esmaeily-hosein

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 3 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS