none
DbDataAdapter::Fill 方法的String^参数是指的是什么? RRS feed

答案

  • srcTable只是一個對應資料庫中資料表的DataTable名稱,我通常會與資料表名稱為DataTable名稱,比較容易識別。

    下面的程式碼範例,我把Northwind中的Region資料表Fill到DataTable,故意用一個不存在的名稱,經過實驗並不影響程式的運作,希望這樣的測試能夠解決你的疑惑。

    SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
    scsb.DataSource = ".";
    scsb.InitialCatalog = "Northwind";
    scsb.IntegratedSecurity = true;
    using (SqlConnection con = new SqlConnection(scsb.ToString()))
    {
    	SqlDataAdapter adapter = new SqlDataAdapter("select * from region", con);
    	DataSet ds = new DataSet();
    	adapter.Fill(ds, "這是來源資料表所對應的DataTable");
    	foreach (DataRow row in ds.Tables[0].Rows)
    	{
    		Console.WriteLine(string.Format("RegionID={0},RegionDescription={1}", row[0], row[1]));
    	}
    	Console.WriteLine(ds.Tables[0].TableName);
    }
    



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    • 已标记为答案 Gh2005 2011年10月16日 14:52
    2011年10月16日 6:30

全部回复

  • 如果我的理解没错,
    这边的参数要填入和DB一样的数据表名称

     


    Shadowと愉快なコード達
    2011年10月15日 23:30
  • 我没有找到很权威的解释, 但是我Google的结果貌似是, 这个String^是用来修改DataTable->TableName属性的, 貌似, 貌似.

    2011年10月16日 3:53
  • srcTable只是一個對應資料庫中資料表的DataTable名稱,我通常會與資料表名稱為DataTable名稱,比較容易識別。

    下面的程式碼範例,我把Northwind中的Region資料表Fill到DataTable,故意用一個不存在的名稱,經過實驗並不影響程式的運作,希望這樣的測試能夠解決你的疑惑。

    SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
    scsb.DataSource = ".";
    scsb.InitialCatalog = "Northwind";
    scsb.IntegratedSecurity = true;
    using (SqlConnection con = new SqlConnection(scsb.ToString()))
    {
    	SqlDataAdapter adapter = new SqlDataAdapter("select * from region", con);
    	DataSet ds = new DataSet();
    	adapter.Fill(ds, "這是來源資料表所對應的DataTable");
    	foreach (DataRow row in ds.Tables[0].Rows)
    	{
    		Console.WriteLine(string.Format("RegionID={0},RegionDescription={1}", row[0], row[1]));
    	}
    	Console.WriteLine(ds.Tables[0].TableName);
    }
    



    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    • 已标记为答案 Gh2005 2011年10月16日 14:52
    2011年10月16日 6:30
  • srcTable只是一個對應資料庫中資料表的DataTable名稱,我通常會與資料表名稱為DataTable名稱,比較容易識別。

    下面的程式碼範例,我把Northwind中的Region資料表Fill到DataTable,故意用一個不存在的名稱,經過實驗並不影響程式的運作,希望這樣的測試能夠解決你的疑惑。

     

    SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
    scsb.DataSource = ".";
    scsb.InitialCatalog = "Northwind";
    scsb.IntegratedSecurity = true;
    using (SqlConnection con = new SqlConnection(scsb.ToString()))
    {
    	SqlDataAdapter adapter = new SqlDataAdapter("select * from region", con);
    	DataSet ds = new DataSet();
    	adapter.Fill(ds, "這是來源資料表所對應的DataTable");
    	foreach (DataRow row in ds.Tables[0].Rows)
    	{
    		Console.WriteLine(string.Format("RegionID={0},RegionDescription={1}", row[0], row[1]));
    	}
    	Console.WriteLine(ds.Tables[0].TableName);
    }
    


     


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    请问您的ds.Tables[0]和ds.Tables["這是來源資料表所對應的DataTable"]是否等价?
    • 已标记为答案 Gh2005 2011年10月16日 14:51
    • 取消答案标记 Gh2005 2011年10月16日 14:52
    2011年10月16日 11:01
  • 如果以我上面的範例程式碼來看,你說的沒錯。
    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2011年10月16日 11:10