1. 前言
在应用程序中连接数据库是非常常见的操作。在本文中,我们将重点讨论如何在C#应用程序中连接MSSQL数据库,并进行相关操作。
2. 连接数据库
2.1 准备工作
首先,我们需要确保我们拥有连接MSSQL数据库的必要条件:
已安装Microsoft SQL Server Management Studio
已创建MSSQL数据库实例
已创建包含需要操作的数据表的数据库
2.2 准备连接字符串
在应用程序中,我们需要定义一个连接字符串来连接MSSQL数据库。连接字符串包括以下信息:
服务器名称
数据库名称
用户名
密码
在本例中,我们使用Windows身份验证连接到本地MSSQL实例,并使用AdventureWorks2019数据库:
string connectionString = "Data Source=localhost;Initial Catalog=AdventureWorks2019;Integrated Security=True;"
2.3 创建连接对象
在C#应用程序中,我们需要使用System.Data.SqlClient命名空间中的SqlConnection类来创建与MSSQL数据库的连接对象。连接对象用于打开数据库连接,并执行与数据库相关的操作。
在处理完所有相关操作后,需要关闭连接。
SqlConnection connection = new SqlConnection(connectionString);
try
{
connection.Open();
//处理与数据库的相关操作
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
3. 执行SQL语句
3.1 SELECT
要从数据库中检索数据,我们需要使用SELECT语句。以下是一个示例SELECT语句,用于从名为"Person"的表中检索所有行:
SELECT * FROM Person
我们可以使用SqlCommand对象执行SQL查询,并使用SqlDataReader对象检索结果。在以下示例中,我们检索了所有人员的名字和姓氏,并将它们打印到控制台。
string queryString = "SELECT FirstName, LastName FROM Person.Person";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(queryString, connection);
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(String.Format("{0}, {1}", reader["LastName"], reader["FirstName"]));
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
3.2 INSERT
要向数据库插入新数据,我们需要使用INSERT语句。以下是一个示例INSERT语句,用于向名为"Person"的表中插入一行数据:
INSERT INTO Person (FirstName, LastName) VALUES ('John', 'Doe')
我们可以使用SqlCommand对象执行SQL插入语句。在以下示例中,我们向"Person"表中插入了一行。
string queryString = "INSERT INTO Person (FirstName, LastName) VALUES ('John', 'Doe')";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(queryString, connection);
try
{
connection.Open();
int recordsAffected = command.ExecuteNonQuery();
Console.WriteLine(recordsAffected + " row(s) inserted");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
3.3 UPDATE
要更新数据库中的数据,我们需要使用UPDATE语句。以下是一个示例UPDATE语句,用于更新名为"Person"的表中具有特定ID的数据:
UPDATE Person SET FirstName = 'Jane', LastName = 'Doe' WHERE PersonID = 1
我们可以使用SqlCommand对象执行SQL更新语句。在以下示例中,我们更新了"Person"表中具有特定ID的行的名字和姓氏。
string queryString = "UPDATE Person SET FirstName = 'Jane', LastName = 'Doe' WHERE PersonID = 1";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(queryString, connection);
try
{
connection.Open();
int recordsAffected = command.ExecuteNonQuery();
Console.WriteLine(recordsAffected + " row(s) updated");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
3.4 DELETE
要从数据库中删除数据,我们需要使用DELETE语句。以下是一个示例DELETE语句,用于从名为"Person"的表中删除具有特定ID的数据:
DELETE FROM Person WHERE PersonID = 1
我们可以使用SqlCommand对象执行SQL删除语句。在以下示例中,我们从"Person"表中删除了具有特定ID的行。
string queryString = "DELETE FROM Person WHERE PersonID = 1";
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(queryString, connection);
try
{
connection.Open();
int recordsAffected = command.ExecuteNonQuery();
Console.WriteLine(recordsAffected + " row(s) deleted");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
4. 结论
通过本文,我们了解了如何在C#应用程序中连接MSSQL数据库,并执行各种SQL语句。正如我们所看到的,使用System.Data.SqlClient命名空间中的类,连接和对数据库进行操作变得非常容易。