簡體   English   中英

使用C#連接本地SQL服務器數據庫

[英]Connecting to local SQL Server database using C#

假設我在 Visual Studio 的App_Data文件夾中創建了一個名為Database1.mdf的 SQL 服務器數據庫,其中包含一個名為Names的表。

我如何建立連接以使用 C# 讀取表值?

到目前為止,我已經嘗試過這樣的事情:

SqlConnection conn = new SqlConnection("Server=localhost;Database=Database1;");

conn.Open();

// create a SqlCommand object for this connection
SqlCommand command = conn.CreateCommand();
command.CommandText = "Select * from Names";

但我得到一個錯誤:

未找到數據庫/連接到數據庫時出錯

Data Source (Visual Studio左側)中右鍵單擊數據庫,然后單擊“ Configure Data Source With Wizard 將出現一個新窗口,展開Connection字符串,您可以在其中找到連接字符串

如果使用SQL身份驗證 ,請使用以下命令:

using System.Data.SqlClient;

SqlConnection conn = new SqlConnection();
conn.ConnectionString = 
     "Data Source=.\SQLExpress;" + 
     "User Instance=true;" + 
     "User Id=UserName;" + 
     "Password=Secret;" + 
     "AttachDbFilename=|DataDirectory|Database1.mdf;"
conn.Open();

如果使用Windows身份驗證 ,請使用以下命令:

using System.Data.SqlClient;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = 
     "Data Source=.\SQLExpress;" + 
     "User Instance=true;" + 
     "Integrated Security=true;" + 
     "AttachDbFilename=|DataDirectory|Database1.mdf;"
conn.Open();
SqlConnection c = new SqlConnection(@"Data Source=localhost; 
                           Initial Catalog=Northwind; Integrated Security=True");

如果您使用的是SQL Server Express,請進行更改

SqlConnection conn = new SqlConnection("Server=localhost;" 
       + "Database=Database1;");

SqlConnection conn = new SqlConnection("Server=localhost\SQLExpress;" 
       + "Database=Database1;");

可以在http://www.connectionstrings.com/找到數百個連接字符串

您嘗試使用此字符串連接

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|Database1.mdf;Database=dbname; Trusted_Connection=Yes;

我喜歡使用這里概述的方便過程來使用.udl文件構建連接字符串。 這允許您從udl文件中測試它們,以確保在運行任何代碼之前可以連接。

希望有所幫助。

Visual Studio 2019(可能還有幾個以前的版本)。

  • 查看 -> SQL 服務器 Object 資源管理器
  • 樹的頂部是“SQL Server”
  • 在“SQL Server”下,有幾個“(localdb)....”
  • 展開(localdb)... -> 數據庫,直到找到您的數據庫。
  • 數據庫名稱(例如 Database1) -> 右鍵單擊 -> 屬性,然后滾動許多屬性(例如“ANSI NULL Default”)。 找到“連接字符串”屬性,將值復制到代碼中,即可運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM