2012-07-30 64 views
1

今年夏天我正在做一個C#課程,在當前的任務中我將使用數據庫。非常有趣,我渴望工作,但我現在完全失去了(也許我的血液不足)!根據任務的要求,我必須使用使用DataSets或dataTables,DataAdapter和CommandBuilders的斷開方法將數據庫的副本加載到內存中以使用它(打開,讀取和關閉),然後當我想要更新時數據庫,做相反的(打開,保存並關閉)提示讀取並保存到數據庫

我創建了一個SQL Server 2008數據庫,我也創建了一個表。嗯,現在什麼!?我想我必須開始連接到數據庫並選擇表格。從這裏開始,我會提供一些提示。期待着開始!謝謝!

+2

你的問題含糊不清 - 你能更具體一點嗎? 「欣賞一些提示」並不能幫助我們。你只是想知道如何連接? – 2012-07-30 14:24:32

+0

有些幫助連接會很好,但也有讀取和寫入數據庫的副本 – 2012-07-30 14:28:19

+3

從實體框架開始! (www.codeguru.com/csharp/csharp/net30/article.php/c15489/ADONET-Entity-Framework-Tutorial-and-Basics.htm):-) – bitsmuggler 2012-07-30 14:29:14

回答

2

這取決於兩個參數

1. your amount of data has to update 

2. the update frequency 

如果你覺得這兩個參數是重要的,可以減緩你的應用程序,然後使用離線模式。

的數據量可以減輕帶寬

下面的示例

var adapter = new SqlDataAdapter(); 
    var dataSet = new DataSet(); 

    using(var connection = new SqlConnection(connetionString)) 
    { 
     connection.Open(); 
     adapter.SelectCommand = new SqlCommand("Your query", connection); 
     adapter.Fill(dataSet); 
     connection.Close(); 

     //Print results 
     for (i = 0; i <= dataSet.Tables[0].Rows.Count - 1; i++) 
     { 
      MessageBox.Show(dataSet.Tables[0].Rows[1].ItemArray[1].ToString()); 
     } 
    } 
2

可以通過使用一個SqlConnection對象連接。它位於System.Data.SqlClient命名空間中。當您斷開連接或連接時,您將希望熟悉這些對象。我提供的鏈接中有一些示例代碼。

你需要一個連接字符串傳遞給構造函數。如果你的數據庫在本地運行,它可能可能是看起來像這樣。

string connectionString = "Data Source=localhost;Initial Catalog=TheNameOfYourDatabase;Integrated Security=SSPI"; 

using (SqlConnection connection = new SqlConnection(connectionString)) 
{ 
    connection.Open(); 
} 

就這麼簡單。由於對象實現了IDisposable,因此可以使用using語句,以便對象適當地處理清理(在這種情況下,默認情況下,連接將返回到連接池)。

之後,您可以看看SqlCommand,以便您可以開始對數據庫發出命令。

1

其實你有幾種方法可用。 從DataReader和DBCommand開始,一直到ORM實體框架和POCO。 當你提高抽象層次時,他們會爲你做越來越多的事情,但是除非你知道基礎知識,否則你的範圍越來越小。

如果我是你,我會在梯子

那的SqlConnection,SqlCommand的,SqlParameter的和SqlDataReader的

底部開始

跌不下去的沃利嚮導,點擊一個按鈕和Visual Studio這一切都爲你的路線。他們是兩種類型的人,知道他們在做什麼的人,以及不想知道的人......

大量的教程,但如果我是你。我會用C#書籍進行一次體面的編程,轉到關於數據庫的章節,閱讀並做,再讀一遍。那些發現這些東西真的很難的人是那些沒有這麼做的人。

當你這樣做的時候,如果你需要的話,你會知道足夠的回來並且提出正確的問題。

相關問題