PDA

View Full Version : فرمان select



arshia_
دوشنبه 25 اسفند 1382, 17:46 عصر
سلام
من در برنامه خود برای نمایش اطلاعات از datagird استفاده می کنم.
و می خواهم اطلاعات از دو جدول خوانده شود و طبق دستور مورد نظر عبارات درست انتخاب و نمایش داده شوند
اما برنامه گزارش خطا می کند
چطور می توانم با دستور select از دو جدول متفاوت اطلاعات را نمایش دهم ولی شرط مورد نظر را نیز بررسی کند
دستور من در متغیر str چنین است:
"select prop.name,detail.8 from prop,detail where code=@catid "

Farhad.B.S
دوشنبه 25 اسفند 1382, 18:25 عصر
دستور اس کیو ال مورد نظر رو به دستور زیر تغییر بدید :


SELECT name,8 FROM prop,detail WHERE code=@catid

فیلد code مربوط به کدوم یکی از تیبل هاست ؟
در ضمن معمولا این دو جدول باید هر کدام دارای یک فیلد برای ارتباط با یکدیگر باشند.

در اینگونه موارد اطلاعات مربوط به خطا رو هم اینجا قرار بدید.

samane_r
سه شنبه 26 اسفند 1382, 08:14 صبح
فیلد مشترک دو جدول و کلید اصلی همان code می باشد .

arshia_
سه شنبه 26 اسفند 1382, 11:49 صبح
سلام ...همونطور که دوستمون گفت
فیلد code توی هر دوتا جدول است و فیلد اصلی است...
:wink:
SELECT name,8 FROM prop,detail WHERE code=@catid
منظور از 8 همون * است؟؟؟
یعنی بنویسم...: select name.* from prop
یه سوال دیگه
آیا مشکل از ارتباط جدول نیست؟
من توی access ارتباط جدولها رو تنظیم کردم اما توی asp.net اصلا کاری نکردم آیا باید اونجا هم تنظیمات انجام بدم یا خود برنامه ارتباط جداول توی access را, می فهمه؟؟؟

Farhad.B.S
سه شنبه 26 اسفند 1382, 13:44 عصر
منظور از 8 همون * است؟؟؟
یه نگاهی به دستور اولیه خودتون بندازید ، بنده تصور کردم که "8" اسم یکی از فیلد های شماست.


من توی access ارتباط جدولها رو تنظیم کردم اما توی asp.net اصلا کاری نکردم آیا باید اونجا هم تنظیمات انجام بدم یا خود برنامه ارتباط جداول توی access را, می فهمه؟؟؟
خیر ، نیاز به انجام کاری تو asp.net نیست.

خطای مورد نظر رو ذکر نکردید ؟

دستور زیر رو امتحان کنید :


SELECT prop.name,details.* FROM prop,details WHERE (prop.code=details.code) AND (prop.code=@catid)

arshia_
سه شنبه 26 اسفند 1382, 18:14 عصر
ممنون از پاسخ
دستور مورد نظر رو نوشتم اما بازم جواب نداد
متن خطا اینه:
no value given for one or more required parameters....

:cry:

hga
چهارشنبه 27 اسفند 1382, 00:56 صبح
دستور فوق درست است .
اشکال در مقدلر دهی catid است.
catid را چگونه مقدار داده اید؟

samane_r
چهارشنبه 27 اسفند 1382, 08:34 صبح
نحوه ی مقدار دهی catid در جاهای مختلف برنامه اینگونه است
dim cmd as oledb.oledbcommand1
...
cmd .parameters.add("@catid",intcatid
در ضمن
intcatid=datagrid1.datakeys(e.item.itemindex

samane_r
چهارشنبه 27 اسفند 1382, 09:22 صبح
در ضمن این متغیر به صورت سراسری تعریف شده است تا در تمام قسمتهای برنامه در دسترس باشه...