-
1 ضمیمه
خطا در join کردن دو جدول اس کیو ال
سلام دوستان
من میخوام دوتا از جداولم رو با هم دیگه join کنم و تو دیتاگرید نمایش بدم اما با خطای زیر مواجه میشم
ضمیمه 94264
اینم کدمه
string d;
SqlDataAdapter adap;
DataSet ds = new DataSet();
d = "Select ashkhasgroups.id,ashkhasgroups.groupname,ashkhasgr oups.discription,ashkhas.name,ashkhas.tel,ashkhas. mobile,ashkhas.address From ashkhasgroups INNER JOIN ashkhas ON ashkhasgroup.groupname = ashkhas.groups";
adap = new SqlDataAdapter(d, my_con);
adap.Fill(ds, "ashkhas");
dgv.DataSource = ds.Tables["ashkhas"];
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
یکی کمک کنه
یعنی کسی تا به حال به این مشکل بر نخورده بود ؟؟؟؟؟
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
سلام.
مهندس به این قسمت از کوئری تون دقت کنید :
ON ashkhasgroup.groupname = ashkhas.groups
مگه اسم جدول شما ashkhasgroup یا ashkhasgroups ؟؟؟
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
نقل قول:
نوشته شده توسط
troski
سلام.
مهندس به این قسمت از کوئری تون دقت کنید :
ON ashkhasgroup.groupname = ashkhas.groups
مگه اسم جدول شما ashkhasgroup یا ashkhasgroups ؟؟؟
بله دوست عزیز
من اسم یکی از جدولام ashkhasgroup و دیگری ashkhas هست
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
نقل قول:
نوشته شده توسط
programerinfonet
بله دوست عزیز
من اسم یکی از جدولام ashkhasgroup و دیگری ashkhas هست
دوست عزیز یعنی واقعا متوجه اشتباهتون نشدید؟؟؟؟؟!!!!!!!!!
به کوئری تون دقت کنید در قسمت Select اسم جدول رو ashkhasgroups گذاشتین و در قسمت From اسم همون جدول رو گذاشتین ashkhasgroup کدومشون درسته؟؟؟؟!!!!!!!!!
هر کدوم که اشتباهه رو درست کنید.
در متن خطاتون هم مشخصه دقیقا فقط یه خورده دقت کافیه!!!!!!!!!!
این قسمت از کوئری تون رو نگاه کنین :
ON ashkhasgroup.groupname = ashkhas.groups
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
دقیقأ حق با شماست متوچه شدم کدمو اصلاح کردم و برنامه اجرا شد خطا نداد اما دیتاگرید هم خالیه
این کدم شده
string d;
SqlDataAdapter adap;
DataSet ds = new DataSet();
//d = "select * from ashkhas";
d = "Select ashkhasgroups.id,ashkhasgroups.groupname,ashkhas.n ame,ashkhas.tel,ashkhas.mobile,ashkhas.address From ashkhasgroups INNER JOIN ashkhas ON ashkhasgroups.groupname = ashkhas.groups";
adap = new SqlDataAdapter(d, my_con);
adap.Fill(ds, "ashkhas");
dgv.DataSource = ds.Tables["ashkhas"];
dgv.Columns["id"].Visible = false;
dgv.Columns["groupname"].HeaderText = "نام گروه";
dgv.Columns["name"].HeaderText = "نام مشتری ";
dgv.Columns["tel"].HeaderText = " تلفن تماس ";
dgv.Columns["mobile"].HeaderText = " موبایل ";
dgv.Columns["address"].HeaderText = "نشانی";
dgv.Columns["groupname"].Width = 120;
dgv.Columns["name"].Width = 150;
dgv.Columns["tel"].Width = 100;
dgv.Columns["mobile"].Width = 100;
dgv.Columns["address"].AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMod e.Fill;
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
من تو این کد حسابی گیج شدم کمک کنید توروخدا
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
سلام.دستور sql شما مشکلی نداره. همیشه در چنین مواقعی اول کوئری رو در sql تست کنید ببینید نتیجه میده یا نه. اگر اونور مشکل نداشتید با دیتاتیبل امتحان کنید.
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
دوست عزیز من اولین پروژمه که با sql مینویسم زیاد تسلط ندارم
الان دقیقأ چی کار کنم که مشکلم حل بشه
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
کدمو تو sql query هم بردم و نتیجه ی اجرا همون خالی بود
حالا چی کار کنم
معادل صحیح این کد چیه
یکی کمک کنه
کمک
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
شاید واقعا نتیجه کوئری خالی باشه. هر دو جدولی که در کوئری نوشتید به دقت بررسی کنید. مشکل شما از کوئری نیست.
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
نه من هر جدولی رو که تو کدم آوردم توشون رکورد ثبت شده هست
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
فیلدهایی رو که در کوئری با هم مساوی قرار دادی ( ashkhasgroups.groupname = ashkhas.groups ) درون هر دو جدول مساوی هستن؟( حداقل باید یکی از هر کدومشون با هم برابر باشن تا خروجی داشته باشی.). اگر میتونی یه عکس از داده های هر دو جدول بگیر و بزار.
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
سلام دوست عزیز.
همانطور که دوستان هم توضیح دادن باید در دو جدولتون سطرهایی وجود داشته باشه که مقدار ستون groupname از جدول ashkhasgroups با مقدار ستون groups از جدول ashkhas مساوی باشه.
فقط در این صورت هست که کوئری شما خروجی خواهد داشت. چک کنید ببینید که این مورد در جدوال شما صدق میکنه یا نه!!
اگه بازم مشکلتون برطرف نشد از داده های داخل هر دو جدول به صورت جداگانه عکس بگیرین و اینجا بذارین تا زودتر به مشکلتون برطرف بشه...
-
1 ضمیمه
نقل قول: خطا در join کردن دو جدول اس کیو ال
بله اینم عکس کوئری sql
ضمیمه 94298
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
نقل قول:
نوشته شده توسط
mohammaddou
اگر میتونی یه عکس از داده های هر دو جدول بگیر و بزار.
نقل قول:
نوشته شده توسط
troski
اگه بازم مشکلتون برطرف نشد از داده های داخل هر دو جدول به صورت جداگانه عکس بگیرین و اینجا بذارین تا زودتر به مشکلتون برطرف بشه...
نقل قول:
نوشته شده توسط
programerinfonet
بله اینم عکس کوئری sql
ما گفتیم از کوئری عکس بگیر و بذار؟؟؟
-
2 ضمیمه
نقل قول: خطا در join کردن دو جدول اس کیو ال
دوست عزیز اینم عکی جدولام کوئری و ... کدمم که قبلأ دادم
SELECT ashkhasgroups.id, ashkhasgroups.groupname, ashkhas.name, ashkhas.tel, ashkhas.mobile, ashkhas.address
FROM ashkhasgroups INNER JOIN
ashkhas ON ashkhasgroups.groupname = ashkhas.groups
ضمیمه 94299
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
در واقع فیلد groupsدر جدول ashkhas از فیلد groupname در جدول groups گرفته میشود یعنی هر دو یکی هستند جدول گروه ها ، گروه ها تعریف شده و در جدول اشخاص اشخاص تعریف می شود که گروه اشخاص رو کار بر از همون گروه هایی که قبلأ تعریف کرده انتخاب می کنه
امیدوارم تونسته باشم مفهوم رو برسونم
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
والا از همون پست های اول مفهوم رسیده. چیزی کم و کسر نیست حاجی جز " داده های درون این دو جدول". :عصبانی++:
عزیز داخل این دو جدول چه داده هایی زدی؟. منظور من و troski دیزاین نیست. منظور ما اون اعداد و حروفی هست که وارد کردی. از اونها عکس بگیر و بذار. :گریه: :گریه:
-
1 ضمیمه
نقل قول: خطا در join کردن دو جدول اس کیو ال
اینم عکس داده هام که با فلش هم ارتباطشون رو مشخصی کردم
ضمیمه 94301
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
جان عزیزت گرفتی ما رو؟خدا وکیلی خیلی اذیت کردی دوست عزیز.
آخه مهندس، کجای groupsname و groups با هم برابرن؟. این که یکیش از نوع رشته وارد کردی اون یکی عدد. چیزی که در inner join و بعد از ON میاد باید با هم برابر باشن. مثلا جفتشون 9 باشه یا مثلا جفتشون کرج باشه. برو یه کم sql یاد بگیر. برو عزیز.
خداحافظ شما.
-
1 ضمیمه
نقل قول: خطا در join کردن دو جدول اس کیو ال
دوست عزیز شرمنده دیگه من همون اول گفتم که با این دستور اصلأ کار نکردم
حالا شما به این نمونه برنامه نگاه بکن همه چیز دستگیرت میشه
تو این برنامه من میخوام وقتی نام گروه رو تو جدول groups اصلاح کردم . فیلد groups در جدول ashkhas هم اصلاح بشه
ضمیمه 94303
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
نقل قول:
نوشته شده توسط
programerinfonet
تو این برنامه من میخوام وقتی نام گروه رو تو جدول groups اصلاح کردم . فیلد groups در جدول ashkhas هم اصلاح بشه
ضمیمه 94303
واسه تصحیح باید از update استفاده کنی. شما موقعی که داری groupsname رو تصحیح میکنی، باید id ( منظورم کلید هستش) رو برداری و بعد با یه دستور update بیای و در جدول اشخاص همون رکورد رو تصحیح کنی.( یعنی به اخر دستور update یه where اضافه میکنی و میگی آی دی اون شخص همونی باشه که برداشتی).
فیلد id در هر دو جدول با هم ارتباط دارن؟(یعنی کلید اصلی و کلید خارجی داری؟)
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
آخه این دوستمون troski گفت که به جای دستور آپدیت به این شکل عمل کن که به جای ذخیره کردن نام گروه برو کدشو از جدولش بخون و اونو ذخیره کن تا نامش از جدولش خونده بشه و این طوری دیگه مجبور نیستی برای هر جدول یک دستور update بنویسی
منم میخوام برنامه یک پارچه باشه دیگه یعنی یک مشخصه در تمام جداول یکی باشه نه اینکه اصلاح شد تو بقیه جداول همون به شکل قبل بمونه
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
چون تو یکسری برنامه ها دیدم یک فیلد رو تو دیتاگرید نام نشون میده اما میریم تو بانک اطلاعاتیش می بینیم به جای نام کدش هست
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
عزیز من troski منظورش یه چیز دیگه بوده شما اشتباه متوجه شدی. بله شما به جای نام ( که میتونه تکراری باشه) باید کد (همون id که تکراری هم نیست) ذخیره کنید. ولی هرطوری که شما ذخیره کنید در نهایت برای تصحیح حتما باید از دستور update استفاده کنید. اون چیزی که troski گفته بخاطر این بوده که جدولت استاندارد باشه. حالا همون id ای که ذخیره کردی رو بردار و در دستور update جلوی where بذار تا فقط همون رکورد تصحیح بشه. اگه where نذاری همه رکوردها رو تصحیح میکنه.
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
دوست عزیز واقعا گرفتی ها .................................................. .....
شما خودتون توی عکس با فلش ارتباطشون رو باهم نشون دادین حالا اومدین توی کوئری تون نوشتین :
ashkhasgroups.groupname = ashkhas.groups
آخه دوست عزیز یه خورده دقت کن فقط با سوال پرسیدن که کارتون جلو نمیره!!!!!!!!
شما باید اینطوری بنوسید :
ashkhasgroups.id = ashkhas.groups
امیدوارم بنونین پروژتون رو تموم کنین ولی اینم بگم حسابی اذیت کردین...............
موفق باشید
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
نقل قول:
نوشته شده توسط
programerinfonet
آخه این دوستمون troski گفت که به جای دستور آپدیت به این شکل عمل کن که به جای ذخیره کردن نام گروه برو کدشو از جدولش بخون و اونو ذخیره کن تا نامش از جدولش خونده بشه و این طوری دیگه مجبور نیستی برای هر جدول یک دستور update بنویسی
منم میخوام برنامه یک پارچه باشه دیگه یعنی یک مشخصه در تمام جداول یکی باشه نه اینکه اصلاح شد تو بقیه جداول همون به شکل قبل بمونه
دوست عزیز من کی به شما گفتم به جای دستور update ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟:عصبانی++:
من گفتم به جای اینکه برین نام گروه رو در تمام جدوال ذخیره کنید فقط id اونا رو ذخیره کنید و با join نشون بدین. و وقتی که خواستین مثلا نام گروه رو عوض کنین به جای اینکه برین در همه جدوال update بزنید فقط بر روی جدول ashkasgroups ویرایش رو انجام می دین و سطر مورد نظر رو ویرایش می کنید.
تو رو خدا یه خورده برین مطالعه کنید ...........
-
1 ضمیمه
نقل قول: خطا در join کردن دو جدول اس کیو ال
نه این جوری نمیشه دوست عزیز وقت شما رو ه میگیرم به این عکس نگاه کن ، این تصویر یکی از جداول بانک یک نرم افزار حسابداریه که وقتی میری توی نرم افزار اون قسمتی رو که من قرمز دورش کشیدم اسامیه اصلیش نمایش داده میشه اینایی که تو جدول ذخیره میشه کدشه
ضمیمه 94306
دقیقأ منم عین همینو میخوام میخوام به جای نام مشتری کدش ذخیره بشه ولی توی دیتاگرید برنامه اسمش نمایش داده بشه
بازم عذرخواهی می کنم
-
نقل قول: خطا در join کردن دو جدول اس کیو ال
بالاخره درست شد دوستان
دست دست دست
ولی ببخشیدااااااااااااااااا
چی کار کنم نمی گرفتم دیگه