PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل در Read کردن اطلاعات دیتابیس sql در ویژوال استودیو



booysusa
2019/05/30, 13:07
با درود
دوستان من اطلاعات جداولم رو میخوام در دیتاگرید ویو نمایش بدم، به مشکل بر خوردم، تیکه کد نمایش اطلاعات از یک جدول رو میدونم ولی برای نمایش اطلاعات دو جدول در گرید ویوو رو نمی دونم

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


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

این عکس که گذاشتم، با این کدی که نوشتم فقط میتونم اطلاعات یک جدول رو در گرید ویوو مشاهده کنم
http://s9.picofile.com/file/8362081726/09.JPG


اینم تصویری از دیتابیس و هر دو جدول من هست
http://s9.picofile.com/file/8362083300/20.png





کد من

public List<Contact> Read() // جدول کارت ملی رو اضافه کنم
{
string command = &quot;Select * from Contact&quot;;
// با خط کد پائین، اطلاعات از جدول کارت ملی فراخوانی میکنم
// مشکل اینجاست که من نمی توانم اطلاعات رو از هر دو جدول کانتکت و کارت ملی فراخوانی کنم
//string command2 = &quot;Select * from KartMeli&quot;;

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[&quot;ID&quot;]);
contact.Name = r[&quot;Name&quot;].ToString();
contact.NameKhanevadegi = r[&quot;NameKhanevadegi&quot;].ToString();
contact.Jensiat = Convert.ToBoolean(r[&quot;Jensiat&quot;]); // اینجا جنسیت رادیو باتن مشخص میکند
contact.ShomarehMeli = r[&quot;ShomarehMeli&quot;].ToString();
contact.TarikhTavalod = Convert.ToDateTime(r[&quot;TarikhTavalod&quot;]);
// اطلاعات کارت ملی
//contact.idk = Convert.ToInt64(r[&quot;idk&quot;]);
//contact.SerialKartMeli_KartMeli = r[&quot;SerialKartMeli_KartMeli&quot;].ToString();
//contact.NoeKartMeli = (bool)r[&quot;NoeKartMeli&quot;];
lstResult.Add(contact);
}
return lstResult;
}



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

AmRo
2019/05/30, 13:58
سلام...اگه مشکلتونو درست متوجه شده باشم...میخواین دو جدول contant و kartmeli رو تو یک دیتاگرید نمایش بدین.
خوب برای اینکار بهتره داخل sql server یک view ایجاد کنید که اطلاعات لازم رو از دو تا جدول بگیره...بعد تو برنامه به جای خوندن اطلاعات از این دو جدول...فقط از view بخونید.

booysusa
2019/05/30, 17:22
بله شما درست می فرمایید

خیلی گشتم ، توضیحات دوستان خوب بود ولی من متوجه نمی شدم
امکانش هست لطف کنید و دیتابیس من را طراحی کنید یا وقت بزارید آموزش مختصری بدید
خیلی معطل این مورد شدم و کلی هم جستجو بی نتیجه داشتم
هزینه آموزش پرداخت می شود

AmRo
2019/05/31, 10:34
یه مثال ساده برات درست کردم..ببین به دردت میخوره:



دانلود مثال (https://www.dropbox.com/s/nzbga8zy7jj20rq/SqlViewExample.zip?dl=1)

booysusa
2019/06/01, 20:29
یه مثال ساده برات درست کردم..ببین به دردت میخوره:
دانلود مثال (https://www.dropbox.com/s/nzbga8zy7jj20rq/SqlViewExample.zip?dl=1)

بی نهایت سپاسگزارم که وقت گذاشتید و هم فیلم گرفتید و همچنین یک فایل تهیه و ارسال کردید

من امروز قبل از اینکه پاسخ شما را بخوانم خواستم در سایت پارس کدرز یا پونیشیا درخواست کمک در تکمیل پروژه بدم، وقتی پاسخ شما و فیلم را مشاهده کردم متوجه شدم شما کاملا درک کردید من به چه چیزی نیاز دارم

با اجازه من پروژه ام را آپلود کردم، لطفا اگر امکانش هست یه نگاه بهش بندازید، مشکلم را در بالا توضیح دادم، ممنون میشم یه نگاه به پروژه بندازید

با عرض پوزش بابت اینکه این را میگوییم ولی هر هزینه ای هم بفرمائید واریز میشود خدمتتان



فقط لطفا بر اساس نوع کدنویسی من پیش برید چون فعلا فقط همین نوع نوشتن کدها رو بلدم و میخوام در این پروژه دقیقا تا انتها به این شکل پیش برم

سوالی هست بپرسید لطفا



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


لینک دانلود (http://s5.picofile.com/file/8362305076/Shenasnameh_1398_03_09.zip.html)

AmRo
2019/06/02, 09:33
من پروژه رو دانلود کردم....ولی چون نسخه ویژوال استودیو من 2015 و SQL سرورم 2008 هستش ... نمیتونیم دیتابیس رو ویرایش کنم.
تنها کاری که شما باید انجام بدین اینه که یه View برای دو جدولی که گفتین درست کنید...بعد تو تابع Read به جای select کردن اطلاعات از جدول Contact اونا رو از View بگیرید.
تو اینترنتم سایت های زیادی آموزش ساخت ویو رو گذاشتن.



آموزش ساخت View در Sql Server (https://www.google.com/search?rlz=1C1GCEA_enIR843IR843&ei=617zXJCxM8_WkwW66Zcg&q=%D8%B3%D8%A7%D8%AE%D8%AA+View+%D8%AF%D8%B1+Sql+S erver&oq=%D8%B3%D8%A7%D8%AE%D8%AA+View+%D8%AF%D8%B1+Sql+ Server&gs_l=psy-ab.3..0i30l2.3412.3412..3761...0.0..0.265.265.2-1......0....1..gws-wiz.......0i71.7b7wk_n6zEw)