Natija quyidagicha:
Ma'lumotlar to'plami turli jadvallar bilan bog'liq bo'lishi mumkin bo'lgan ko'plab jadvallarni o'z ichiga olishi mumkin. Masalan, ma'lumotlar bazasida biz smartfon ishlab chiqaruvchilarining jadvalini va smartfonlar jadvalini belgilaymiz, bu birinchisi bilan bog'liq:
static void Main(string[] args)
{
DataSet ds = new DataSet("Do'kon");
// Kompaniya jadvali
DataTable kompaniyajadval = new DataTable("Kompaniyalar");
// Kompaniyalar jadvalining ikkita ustuni
DataColumn komId = new DataColumn("Id", Type.GetType("System.Int32"));
komId.Unique = true;
komId.AllowDBNull = false;
komId.AutoIncrement = true;
komId.AutoIncrementSeed = 1;
komId.AutoIncrementStep = 1;
DataColumn komnomi = new DataColumn("Nomi", Type.GetType("System.String"));
// ustunlar qo'shish
kompaniyajadval.Columns.Add(komId);
kompaniyajadval.Columns.Add(komnomi);
// dataset ga jadval qo'shish
ds.Tables.Add(kompaniyajadval);
davomi:
// ikkinchi jadval - Telefon kompaniyalari
DataTable telefonjadval = new DataTable("Telefon");
DataColumn telID = new DataColumn("Id", Type.GetType("System.Int32"));
telID.Unique = true;
telID.AllowDBNull = false;
telID.AutoIncrement = true;
telID.AutoIncrementSeed = 1;
telID.AutoIncrementStep = 1;
DataColumn telNomi = new DataColumn("Nomi", Type.GetType("System.String"));
DataColumn telNarxi = new DataColumn("Narxi", Type.GetType("System.Decimal"));
// ustun tashqi kaliti
DataColumn telKompaniya = new DataColumn("KompaniyaId", Type.GetType("System.Int32"));
// smartfonlar jadvaliga ustunlar qo'shish
telefonjadval.Columns.Add(telID);
telefonjadval.Columns.Add(telNomi);
telefonjadval.Columns.Add(telNarxi);
telefonjadval.Columns.Add(telKompaniya);
// telefonlar jadvalini qo'shish
ds.Tables.Add(telefonjadval);
davomi:
// jadvallar orasidagi munosabatlarni o'rnatish
ds.Relations.Add("TelefonKompaniya", kompaniyajadval.Columns["Id"], telefonjadval.Columns["KompaniyaId"]);
// Ma'lumotlar qatorini qo'shamiz
DataRow apple = kompaniyajadval.NewRow();
apple.ItemArray = new object[] { null, "Apple" };
kompaniyajadval.Rows.Add(apple);
DataRow samsung = kompaniyajadval.NewRow();
samsung.ItemArray = new object[] { null, "Samsung" };
kompaniyajadval.Rows.Add(samsung);
DataRow iphone5 = telefonjadval.NewRow();
iphone5.ItemArray = new object[] { null, "iPhone 5", 400, apple["Id"] };
telefonjadval.Rows.Add(iphone5);
davomi:
DataRow iphone6s = telefonjadval.NewRow();
iphone6s.ItemArray = new object[] { null, "iPhone 6S", 600, apple["Id"] };
telefonjadval.Rows.Add(iphone6s);
DataRow galaxy6 = telefonjadval.NewRow();
galaxy6.ItemArray = new object[] { null, "Samsung Galaxy S6", 500, samsung["Id"] };
telefonjadval.Rows.Add(galaxy6);
DataRow galaxyace2 = telefonjadval.NewRow();
galaxyace2.ItemArray = new object[] { null, "Samsung Galaxy Ace 2", 200, samsung["Id"] };
telefonjadval.Rows.Add(galaxyace2);
davomi:
// Apple kompaniyasining barcha telefonlarini ko'rsatish
DataRow[] rows = apple.GetChildRows(ds.Relations["TelefonKompaniya"]);
Console.WriteLine("Apple kompaniyasi mahsuloti\n");
Console.WriteLine("Id \tTelefon \tNarxi");
foreach (DataRow qator in rows)
{
Console.WriteLine("{0} \t{1} \t{2}", qator["Id"], qator["Nomi"], qator["Narxi"]);
}
Console.Read();
}
Natija esa quyidagicha bo’ladi:
Agar bizga Samsung kompaniyasini mahsulotlari kerak bo’lsa, quyidagicha o’zgatirish kiritamiz:
// Samsung kompaniyasining barcha telefonlarini ko'rsatish
DataRow[] rows = samsung.GetChildRows(ds.Relations["TelefonKompaniya"]);
Console.WriteLine("Samsung kompaniyasi mahsuloti\n");
Console.WriteLine("Id \tTelefon \tNarxi");
foreach (DataRow qator in rows)
{
Console.WriteLine("{0} \t{1} \t{2}", qator["Id"], qator["Nomi"], qator["Narxi"]);
}
Console.Read();
}
Natija quyidagicha:
ETIBORINGGIZ UCHUN RAHMAT!
Do'stlaringiz bilan baham: |