当前位置:首页 > 百科 > aspx连接sqlserver数据库 正文

aspx连接sqlserver数据库

时间:2026-10-17 05:10:17 来源:力不从心网

打开 Visual Studio,连接新建一个 ASP.NET Web 窗体项目,据库拖一个 GridView 到页面上,连接然后双击空白处进入代码后台——这时候你面对的据库,就是连接怎么让 C# 代码跟 SQL Server 说上话的问题。说穿了,据库ASPX 连接 SQL Server 就靠一个东西:连接字符串。连接剩下的据库全是围绕它做文章。

连接字符串长这样:

string connStr = "Server=localhost;Database=MyShop;User Id=sa;Password=yourpassword;";

或者用 Windows 身份验证:

string connStr = "Server=localhost;Database=MyShop;Integrated Security=True;";

我习惯把连接字符串塞进 Web.config 的连接 <connectionStrings> 节点里,而不是据库硬编码在 .cs 文件里。原因很简单——改密码的连接时候不用重新编译整个项目。Web.config 里写:

<connectionStrings> <add name="MyShopConn" connectionString="Server=localhost;Database=MyShop;Integrated Security=True;" providerName="System.Data.SqlClient" /> </connectionStrings> 

代码里用 ConfigurationManager.ConnectionStrings["MyShopConn"].ConnectionString 取出来就行。据库这算是连接个基本素养,但很多人图省事直接写在代码里,据库上线之后改个数据库地址还得重新发布,连接挺折腾的。

拿到连接字符串,接下来就是 SqlConnection、SqlCommand、SqlDataReader 这一套。写个最简单的查询:

using (SqlConnection conn = new SqlConnection(connStr)) {  conn.Open(); SqlCommand cmd = new SqlCommand("SELECT ProductName, Price FROM Products", conn); SqlDataReader reader = cmd.ExecuteReader(); GridView1.DataSource = reader; GridView1.DataBind(); } 

注意那个 using——它确保连接用完就关。我见过太多人忘了关连接,跑几天 SQL Server 连接池就爆了,报“超时时间已到”的错。SqlConnection 实现 IDisposable,using 块结束自动 Dispose,比手动 conn.Close() 靠谱。

插入数据的时候别用字符串拼接。比如这种写法:

string sql = "INSERT INTO Users (Name) VALUES ('" + txtName.Text + "')";

看着简单,但用户输入个 '); DROP TABLE Users; -- 你就哭吧。用参数化查询:

SqlCommand cmd = new SqlCommand("INSERT INTO Users (Name) VALUES (@Name)", conn); cmd.Parameters.AddWithValue("@Name", txtName.Text); cmd.ExecuteNonQuery(); 

参数化不仅防 SQL 注入,还省去了处理单引号转义的麻烦。有人担心性能问题,说参数化查询会阻止 SQL Server 重用执行计划——实际上恰恰相反,参数化反而更容易让执行计划缓存命中。

还有个常见坑:连接字符串里写 Server=localhost 本地跑没问题,部署到服务器上如果 SQL Server 是命名实例,得写成 Server=localhost\SQLEXPRESS 这种格式。我上次帮人排查一个部署问题,折腾半天发现就是实例名没写对,报“找不到网络路径”的错误,跟连接字符串本身没关系。

如果你用的是 ASP.NET Core 或者较新的项目模板,可能更习惯用 Dapper 或者 Entity Framework。但底层还是这一套——ADO.NET 是根,ORM 只是包装。理解 SqlConnection 怎么工作,出了问题才知道从哪儿查。

GridView 绑定完数据,页面跑起来,看到表格里出现数据库里的记录,那一刻就算通了。剩下的无非是分页、排序、编辑这些花活,基础连接搞定了,后面都是体力活。

推荐内容