مشکل در Read کردن اطلاعات دیتابیس sql در ویژوال استودیو - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

مشکل در Read کردن اطلاعات دیتابیس sql در ویژوال استودیو

+1 امتیاز

با درود
دوستان من اطلاعات جداولم رو میخوام در دیتاگرید ویو نمایش بدم، به مشکل بر خوردم، تیکه کد نمایش اطلاعات از یک جدول رو میدونم ولی برای نمایش اطلاعات دو جدول در گرید ویوو رو نمی دونم

من دو جدول دارم:
یکی جدول Contact که شامل نام - نام خانوادگی - جنسیت - شماره ملی و تاریخ تولد هست
و جدول دومم، KartMeli که شامل فیلدهای سریال کارت ملی و نوع کارت ملی (جدید یا قدیمی) می باشد
بحث ارتباط بین جداول رو هم درست کردم و مشکلی ندارم از این بابت


لطفا راهنمایی کنید بد گیرشم

این عکس که گذاشتم، با این کدی که نوشتم فقط میتونم اطلاعات یک جدول رو در گرید ویوو مشاهده کنم



اینم تصویری از دیتابیس و هر دو جدول من هست

 

کد من

public List<Contact> Read()   // جدول کارت ملی رو اضافه کنم
        {
            string command = "Select * from Contact";
            // با خط کد پائین، اطلاعات از جدول کارت ملی فراخوانی میکنم
            // مشکل اینجاست که من نمی توانم اطلاعات رو از هر دو جدول کانتکت و کارت ملی فراخوانی کنم
            //string command2 = "Select * from KartMeli";
            
            var db = new DataAccess.DatabaseManager();
            var result = db.GetData(command);

            ////var groupTypeList = new GroupType().Read();

            List<Contact> lstResult = new List<Contact>();
            foreach (DataRow r in result.Rows)
            {
                Contact contact = new Contact();
                // اطلاعات شناسنامه
                contact.ID = Convert.ToInt64(r["ID"]);
                contact.Name = r["Name"].ToString();
                contact.NameKhanevadegi = r["NameKhanevadegi"].ToString();
                contact.Jensiat = Convert.ToBoolean(r["Jensiat"]); // اینجا جنسیت رادیو باتن مشخص میکند
                contact.ShomarehMeli = r["ShomarehMeli"].ToString();
                contact.TarikhTavalod = Convert.ToDateTime(r["TarikhTavalod"]);
                // اطلاعات کارت ملی
                //contact.idk = Convert.ToInt64(r["idk"]);
                //contact.SerialKartMeli_KartMeli = r["SerialKartMeli_KartMeli"].ToString();
                //contact.NoeKartMeli = (bool)r["NoeKartMeli"];
                lstResult.Add(contact);
            }
            return lstResult;
        }

 


مشخصات برنامه من
برنامه سه لایه: لایه اول Busines - لایه دوم UI - لایه سوم DataBase
ویژوال استودیو 2017
سی شارپ
اس کیو ال 2017

سوال شده خرداد 9, 1398  بوسیله ی booysusa (امتیاز 44)   5 12 16

1 پاسخ

0 امتیاز

سلام در سایت لینکدین دوست عزیز جناب شیاری جواب شما را دادند به این شرح:

 

باید کوئری جوین بزنید بین دو تا جدولتون کوئریتون رو به شکل زیر تغییر بدید و اون کدهایی که کامنت کردید رو از کامنت در بیارید فک کنم مشکلتون حل بشه

Select Contact.* , KartMeli.* from Contact inner join KartMeli on Contact.Id = KartMeli.Contact_ID
 
پاسخ داده شده خرداد 11, 1398 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
امکانش هست فایل بدم بررسی کنید
...