C#连接sql Server需正确使用SqlConnection类及连接字符串,并按项目类型选择System.Data.SqlClient(.NET Framework)或microsoft.Data.SqlClient(.NET Core+);连接字符串应包含服务器、数据库、认证方式等信息,推荐存于配置文件;必须用using确保资源释放;执行操作需配合SqlCommand与ExecuteScalar/ExecuteNonQuery/SqlDataReader。

用C#连接SQL Server数据库,核心是使用 SqlConnection 类配合正确的连接字符串。只要字符串写对、引用了 System.Data.SqlClient(.NET Framework)或 Microsoft.Data.SqlClient(.NET Core/.NET 5+),就能稳定建立连接。
准备基础依赖
根据你的项目类型选择对应包:
- .NET Framework 项目:默认已含
System.Data.SqlClient,无需额外安装 - .NET Core / .NET 5+ / .NET 6+ 项目:需通过 NuGet 安装 Microsoft.Data.SqlClient(官方推荐,支持最新功能和安全更新)
安装命令(包管理器控制台):
Install-Package Microsoft.Data.SqlClient
写对连接字符串
连接字符串包含服务器地址、数据库名、认证方式等关键信息。常见格式如下:
- windows 身份验证(本地开发常用):
“Server=localhostSQLEXPRESS;database=MyDB;Trusted_Connection=true;” - SQL Server 账户密码登录(生产环境常用):
“Server=192.168.1.100;Database=MyDB;User Id=myuser;Password=mypass;” - 注意端口(非默认1433时要显式指定):
“Server=192.168.1.100,1434;Database=MyDB;…”
建议把连接字符串放在 appsettings.json(.NET Core+)或 App.config(.NET Framework)中统一管理,避免硬编码。
用 using 正确打开和关闭连接
SqlConnection 实现了 IDisposable,必须用 using 确保及时释放资源,防止连接泄漏:
string connStr = "Server=...;Database=...;..."; using (var conn = new SqlConnection(connStr)) { try { conn.Open(); Console.WriteLine("连接成功!"); // 执行查询、增删改等操作 } catch (SqlException ex) { Console.WriteLine($"数据库错误:{ex.Message}"); } } // 这里自动调用 conn.Close() 和 Dispose()
执行简单查询示例
连接后通常配合 SqlCommand 和 SqlDataReader 或 ExecuteScalar/ExecuteNonQuery 使用:
示例(查用户名):
using (var conn = new SqlConnection(connStr)) { conn.Open(); using (var cmd = new SqlCommand("SELECT TOP 1 Name FROM Users", conn)) { var name = cmd.ExecuteScalar(); Console.WriteLine(name?.ToString() ?? "无数据"); } }
基本上就这些。不复杂但容易忽略细节——比如忘了加 using、连错实例名、防火墙阻断端口、SQL Server 服务没启动,都会导致连接失败。先确保 SQL Server 正在运行、远程连接已启用、账户有权限,再检查代码逻辑。