使用C#连接到本地SQL Server数据库
假设我在Visual Studio的App_Data
文件夹中创建了一个名为Database1.mdf
的SQL Server数据库,其中包含一个名为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身份validation ,请使用以下命令:
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身份validation ,请使用以下命令:
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文件中测试它们,以确保在运行任何代码之前可以连接。
希望有所帮助。