the Dead
یک شنبه 06 اردیبهشت 1388, 21:35 عصر
هم MSDN رو خوندم هم يه جای ديگه ولی ابهامم رفع نشد
يه جا نوشته بود که فيل به صورت اتوماتيک اتصال را ايجاد کرده اگر قبلش باز نشده باشه. و بعد از پر کردن ديتاست خودش اتصال رو ميبنده
خوب همانطور که ميبينيد ما در اينجا دو کوری از دو جدول داريم جدول اول در هنگام صدا کردن متد فيل امده ولی دومی نه
ولی در عين حال دومی خروجی رو بدون هيچ مشکلی بر ميگردونه
ابهام من قسمت قرمز رنگه. اگر ديتاست با جدول پروداکت پر نشده پس چجوری خروجی کوری که از جدول پروداکت استفاده کرده بدون هيچ مشکلی توليد ميکند
string sql1 = @"
select
*
from
customers
";
// query 2
string sql2 = @"
select
*
from
products
where
unitprice < 10
";
string sql = sql1 + sql2;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "customers");
DataTableCollection dtc = ds.Tables;
Console.WriteLine("Results from Customers table:");
Console.WriteLine(
"CompanyName".PadRight(20) +
"ContactName".PadLeft(23) + "\n");
string fl = "country = 'Germany'";
string srt = "companyname asc";
foreach (DataRow row in dtc["customers"].Select(fl, srt))
{
Console.WriteLine(
"{0}\t{1}",
row["CompanyName"].ToString().PadRight(25),
row["ContactName"]);
}
Console.WriteLine("\n----------------------------");
Console.WriteLine("Results from Products table:");
Console.WriteLine(
"ProductName".PadRight(20) +
"UnitPrice".PadLeft(21) + "\n");
foreach (DataRow row in dtc["products"].Rows)
{
Console.WriteLine("{0}\t{1}",
row["productname"].ToString().PadRight(25),
row["unitprice"]);
}
يه جا نوشته بود که فيل به صورت اتوماتيک اتصال را ايجاد کرده اگر قبلش باز نشده باشه. و بعد از پر کردن ديتاست خودش اتصال رو ميبنده
خوب همانطور که ميبينيد ما در اينجا دو کوری از دو جدول داريم جدول اول در هنگام صدا کردن متد فيل امده ولی دومی نه
ولی در عين حال دومی خروجی رو بدون هيچ مشکلی بر ميگردونه
ابهام من قسمت قرمز رنگه. اگر ديتاست با جدول پروداکت پر نشده پس چجوری خروجی کوری که از جدول پروداکت استفاده کرده بدون هيچ مشکلی توليد ميکند
string sql1 = @"
select
*
from
customers
";
// query 2
string sql2 = @"
select
*
from
products
where
unitprice < 10
";
string sql = sql1 + sql2;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(sql, conn);
DataSet ds = new DataSet();
da.Fill(ds, "customers");
DataTableCollection dtc = ds.Tables;
Console.WriteLine("Results from Customers table:");
Console.WriteLine(
"CompanyName".PadRight(20) +
"ContactName".PadLeft(23) + "\n");
string fl = "country = 'Germany'";
string srt = "companyname asc";
foreach (DataRow row in dtc["customers"].Select(fl, srt))
{
Console.WriteLine(
"{0}\t{1}",
row["CompanyName"].ToString().PadRight(25),
row["ContactName"]);
}
Console.WriteLine("\n----------------------------");
Console.WriteLine("Results from Products table:");
Console.WriteLine(
"ProductName".PadRight(20) +
"UnitPrice".PadLeft(21) + "\n");
foreach (DataRow row in dtc["products"].Rows)
{
Console.WriteLine("{0}\t{1}",
row["productname"].ToString().PadRight(25),
row["unitprice"]);
}