سلام!
من ميخوام تو يه جدول با 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 & "'"
به نظرتون كجاي كد ايراد داره؟
خطايي كه ميده ناشي از اينه كه موردي پيدا نشده نه اينكه سينتكس اشتباهه.
ممنو نم اگه كمك كنيد.
سلام دوست عزيز
البته شما دقيق تر توضيح ميداديد بهتر بود . مثلا اينكه ديتابيستون چيه . مافكرميكنيم 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) & "%'"
البته اين چيزاي بود كه بنظر من رسيد. اميدوارم كه درست متوجه شده باشم و درست راهنمايي كرده باشم . اگه حل شد بگو و اگه هم با اينكار حل نشد بگو كه اساتيد اين سايت بهتر از ما البته ميتونن كمك كنند.
موفق و پايدارباشيد
سلام!
دوست عزيز من سوالم رو تو اين قسمت مطرح كردم پس مشخصه ديتابيس من اس كيو ال هست. من تابه تريم رو امتحان كرده بودم جواب نداد. علامت ٪ كه شما گفتيد رو هم امتحان كردم. بازم بي فايده بود! :cry:
اگه راه ديگه اي به نظرتون ميرسه كمك كنيد.
ممنون!
دوست عزيز اولا معذرت بنده رو بخاطر نديدن بالاي تاپيك بپذيريد.
بنده صفحه اول رو كه عناوين آخرين تاپيكها بود ديدم و روش كليك كردم . حواسم به بالاي صفحه نبود ببخشيد . دستور رو هم بنده گفتم بجاي مساوي بهتره از Like استفاده كنيد كه متاسفانه نوشته بودم (بعلت كپي + Paste ) .
:wink:
بايد مشكل حل بشه والا اگه اينجوري نشه ديگه نميدونم چي بگم . بهتره كه بزرگترها جواب بدن .
سلام
من يه جدول دارم كه بصورت زير
--------------------------------------- جدول يك
كد پرسنلي كليد اصلي
نام
نام خانوادگي
تلفن
------------------------------------- جدول دوم
كدپرسنلي
شماره تلفن
نام خانوادگي
-------------------------------------------
حالا مي خواهم شماره پرسنلي افرادي را بدست بياورم كه جزء جدول دومي نباشد كمك كنيد
باید یک Left Outer Join به جدول دوم بزنی و تو شرطش هم مقرر کنی تنها رکوردهایی رو
بیاره که مثلا کدپرسنلی جدول دوم برابر Null باشه.
کد:
Select * From Table1
Left Outer Join Table2 on Table1.PersonelNo=Table2.PersonelNo
Where Table2.PersonelNo IS Null