2009-08-18 43 views
1

我目前有Visual Studio 2005和SQL Server 2005.我已經安裝了一個空的數據庫到SQL Server中,但我不知道如何使用VS來連接數據庫。如何將.NET與sql數據庫連接?

我應該使用什麼樣的項目(我將在Windows應用程序中使用數據庫),以及我將如何將它插入項目並使用它?編輯:我有一個數據庫在Microsoft SQL Server Managament工作室,我想用它在一個winForm中,使用C#。不知怎的,我必須連接這兩個?

+0

更精確地指定 - 你需要web/WinForm/console/reusable-lib項目嗎? 你將使用哪種語言(C#/ VB或報表)? – Dewfy 2009-08-18 07:15:42

+0

編輯:我在Microsoft SQL Server Managament Studio中有一個數據庫,並且我想在winForm中使用它,使用c#。不知怎的,我必須連接這兩個? – 2009-08-18 07:57:12

+0

是的 - 從服務器資源管理器中,拖動一個表並將數據源添加到您的解決方案。然後,您會發現使用DataXXX屬性的表單上的控件將具有可用的DataSource(您的db)和Members/Values(表/字段)。 – penderi 2009-08-18 09:18:25

回答

1

您已經幾個選項 - 最簡單的(也是最高性能的,理想的,或推薦的企業級應用)是通過在Visual的「服務器資源管理器」工作室。通過View ... Server Explorer ...訪問並展開Data Connections節點,然後瀏覽新創建的數據庫。

從這裏你可以拖動數據源等到你的Windows應用程序。

然而,理想情況下,您可以直接使用ADO,存儲過程或SQL。

3

您可以創建項目類型:

  1. Web應用程序
  2. Windows應用程序
  3. 控制檯應用程序
  4. Web服務
  5. 類庫

要連接到數據庫,請使用下面的代碼:

SqlDataReader rdr = null; 
SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI"); 
conn.Open(); 
SqlCommand cmd = new SqlCommand("select * from Customers", conn); 
rdr = cmd.ExecuteReader(); 
conn.Close(); 
conn.Dispose(); 

我建議你拿起一本關於ADO.NET的好書,並通讀它。你也可以在Google上搜索一些文章。

2

試試這個ADO.NET Sample Application

using System; 
using System.Data; 
using System.Data.OleDb; 

class Sample 
{ 
    public static void Main() 
    { 
    OleDbConnection nwindConn = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"); 

    OleDbCommand catCMD = nwindConn.CreateCommand(); 
    catCMD.CommandText = "SELECT CategoryID, CategoryName FROM Categories"; 

    nwindConn.Open(); 

    OleDbDataReader myReader = catCMD.ExecuteReader(); 

    while (myReader.Read()) 
    { 
     Console.WriteLine("\t{0}\t{1}", myReader.GetInt32(0), myReader.GetString(1)); 
    } 

    myReader.Close(); 
    nwindConn.Close(); 
    } 
} 

再見

0

在Visual Studio你有可以打開數據源視圖中的數據菜單選項。添加一個數據連接並使用嚮導來「定位」數據庫。創建表的本地「表示」後,將該表從數據源選項卡拖到Windows窗體應用程序。

查看所有自動創建的對象,並嘗試創建對象列表以及它們如何交互。你能發現連接字符串或表定義嗎?

0

你不妨考慮一下nHibernate或者類似的ORM。與其本身使用ADO.Net相比,ORM層有助於減少容易出錯的重複數據訪問代碼的數量。

學習曲線比跳入ADO更陡峭。網絡,但不是很重要,還有很多你需要了解的東西 - 關係,交易和「商業交易」,延遲加載,無論如何你需要考慮 - 所以我會建議被迫考慮它們是沒有壞事。

結帳www.nhforge.org爲一些很好的入門資源。