实现mssql与网页的友好连接

1. 前言

在开发网页应用程序时,常常需要使用到数据库与网页进行连接。本文将介绍如何在ASP.NET网页应用程序中,连接到Microsoft SQL Server数据库,并进行简单的数据读写操作。

2. 准备工作

在开始之前,需要准备以下工具和环境:

2.1 Microsoft SQL Server

如果没有安装Microsoft SQL Server,可以从官网上下载并安装。安装之后,需要创建一个数据库和一张表,用于测试连接和数据读写操作。下面是一个简单的示例:

CREATE DATABASE testdb; 

GO

USE testdb;

GO

CREATE TABLE testtable (

id INT PRIMARY KEY,

name VARCHAR(50)

);

GO

INSERT INTO testtable (id, name) VALUES (1, 'John');

INSERT INTO testtable (id, name) VALUES (2, 'Mary');

INSERT INTO testtable (id, name) VALUES (3, 'Tom');

2.2 Visual Studio

本文使用Visual Studio 2019作为开发工具,可以从官网上下载并安装。安装之后,打开Visual Studio,选择创建ASP.NET Web应用程序,并添加一个Web Form页面。

3. 添加连接字符串

连接字符串是用于指定如何连接到数据库的一组参数。在Web.config文件中,可以添加一个连接字符串,指定连接到Microsoft SQL Server的方式。下面是一个示例:

<connectionStrings>

<add name="DefaultConnection" connectionString="Data Source=SERVER_NAME;Initial Catalog=DATABASE_NAME;Integrated Security=True" providerName="System.Data.SqlClient" />

</connectionStrings>

其中,SERVER_NAME和DATABASE_NAME需要分别替换为Microsoft SQL Server的实际地址和数据库名称。此处使用了Windows身份验证,因此Integrated Security=True。

4. 连接数据库

在Web Form页面的代码中,可以使用SqlConnection类连接到数据库,并执行一些基本的查询操作。下面是一个示例:

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

// 创建连接对象

using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))

{

// 打开连接

connection.Open();

// 执行查询

SqlCommand command = new SqlCommand("SELECT * FROM testtable", connection);

SqlDataReader reader = command.ExecuteReader();

// 遍历结果

while (reader.Read())

{

int id = (int)reader["id"];

string name = (string)reader["name"];

Response.Write(id + " " + name + "<br/>");

}

}

}

}

使用using关键字,可以自动释放连接对象,避免资源浪费。在Page_Load事件中连接数据库,并查询testtable表的所有数据。使用SqlDataReader类读取查询结果,并在网页上输出。

5. 插入数据

除了查询数据,还可以向数据库中插入数据。下面是一个示例:

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

// 创建连接对象

using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))

{

// 打开连接

connection.Open();

// 插入数据

SqlCommand command = new SqlCommand("INSERT INTO testtable (id, name) VALUES (4, 'Jerry')", connection);

command.ExecuteNonQuery();

// 查询数据

command = new SqlCommand("SELECT * FROM testtable", connection);

SqlDataReader reader = command.ExecuteReader();

// 遍历结果

while (reader.Read())

{

int id = (int)reader["id"];

string name = (string)reader["name"];

Response.Write(id + " " + name + "<br/>");

}

}

}

}

在插入数据之前,先连接到数据库。使用SqlCommand类执行INSERT语句,插入一行数据。然后再次查询数据,并输出结果。可以看到,新插入的数据已经成功地添加到了testtable表中。

6. 更新数据

除了插入数据,还可以更新数据。下面是一个示例:

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

// 创建连接对象

using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))

{

// 打开连接

connection.Open();

// 更新数据

SqlCommand command = new SqlCommand("UPDATE testtable SET name = 'Jerry Li' WHERE id = 4", connection);

command.ExecuteNonQuery();

// 查询数据

command = new SqlCommand("SELECT * FROM testtable", connection);

SqlDataReader reader = command.ExecuteReader();

// 遍历结果

while (reader.Read())

{

int id = (int)reader["id"];

string name = (string)reader["name"];

Response.Write(id + " " + name + "<br/>");

}

}

}

}

在更新数据之前,先连接到数据库。使用SqlCommand类执行UPDATE语句,更新指定行的数据。然后再次查询数据,并输出结果。可以看到,id为4的行的name字段已经从Jerry变为Jerry Li。

7. 删除数据

除了更新数据,还可以删除数据。下面是一个示例:

using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

// 创建连接对象

using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))

{

// 打开连接

connection.Open();

// 删除数据

SqlCommand command = new SqlCommand("DELETE FROM testtable WHERE id = 4", connection);

command.ExecuteNonQuery();

// 查询数据

command = new SqlCommand("SELECT * FROM testtable", connection);

SqlDataReader reader = command.ExecuteReader();

// 遍历结果

while (reader.Read())

{

int id = (int)reader["id"];

string name = (string)reader["name"];

Response.Write(id + " " + name + "<br/>");

}

}

}

}

在删除数据之前,先连接到数据库。使用SqlCommand类执行DELETE语句,删除指定行的数据。然后再次查询数据,并输出结果。可以看到,id为4的行已经被成功删除了。

8. 总结

通过以上的示例,可以看到如何在ASP.NET网页应用程序中,连接到Microsoft SQL Server数据库,并进行简单的数据读写操作。

数据库标签