下面就为您详细讲解“C#访问SQL Server数据库的实现方法”的完整攻略。整个攻略主要围绕以下几个方面展开:
- 连接SQL Server数据库
- 执行SQL语句
- 读取数据库数据
- 更新数据库数据
- 关闭数据库连接
接下来我们将依次对以上5点进行详细的说明。
- 连接SQL Server数据库
在C#中,我们可以通过 SqlConnection 类来连接 SQL Server 数据库。具体步骤如下:
string connectionString = "Data Source=YourServerName;Initial Catalog=YourDatabaseName;User ID=YourUserName;Password=YourPassword;";
SqlConnection connection = new SqlConnection(connectionString);
try
{
connection.Open();
// 这里我们可以在控制台输出连接成功的信息,以供调试时使用。
Console.WriteLine("数据库连接成功!");
}
catch (Exception ex)
{
Console.WriteLine("数据库连接失败!错误信息:" + ex.Message);
// 这里我们可以编写相应的异常处理代码。
}
finally
{
connection.Close(); // 这里记得要关闭数据库连接。
}
在这段代码中,我们首先定义了一个名为 connectionString 的字符串变量,用于存储连接字符串,其中包含了连接数据库需要用到的服务器名、数据库名、用户名、密码等信息。然后我们创建了一个 SqlConnection 类型的对象 connection,并使用 Open() 方法来打开数据库连接。在这里我们还为连接成功和失败编写了相应的输出代码,并使用 finally 块来确保关闭连接。
- 执行SQL语句
成功连接到 SQL Server 数据库之后,我们就可以开始执行 SQL 语句了。C# 提供了 SqlCommand 类来执行 SQL 语句。具体步骤如下:
string sql = "INSERT INTO YourTableName (Col1, Col2, Col3) VALUES ('Value1', 'Value2', 123)";
SqlCommand command = new SqlCommand(sql, connection);
try
{
int n = command.ExecuteNonQuery();
Console.WriteLine("执行成功,受影响的行数为:" + n);
}
catch (Exception ex)
{
Console.WriteLine("执行失败!错误信息:" + ex.Message);
}
在这段代码中,我们创建了一个名为 sql 的字符串变量,用于存储我们需要执行的 SQL 语句。然后我们创建了一个 SqlCommand 类型的对象 command,并将 sql 和前面创建的 connection 对象作为参数传递给它。最后使用 ExecuteNonQuery() 方法执行 SQL 语句,并为执行成功和失败编写了相应的输出代码。
- 读取数据库数据
如果我们需要从 SQL Server 数据库中读取数据,可以使用 SqlDataReader 类。具体步骤如下:
string sql = "SELECT Col1, Col2, Col3 FROM YourTableName WHERE Col1 = 'Value1'";
SqlCommand command = new SqlCommand(sql, connection);
try
{
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine("Col1:" + reader.GetString(0) + ", Col2:" + reader.GetString(1) + ", Col3:" + reader.GetInt32(2));
}
reader.Close();
}
catch (Exception ex)
{
Console.WriteLine("执行失败!错误信息:" + ex.Message);
}
在这段代码中,我们创建了一个名为 sql 的字符串变量,用于存储我们需要执行的 SQL 语句。然后我们创建了一个 SqlCommand 类型的对象 command,并将 sql 和前面创建的 connection 对象作为参数传递给它。然后使用 ExecuteReader() 方法执行 SQL 语句,并创建一个 SqlDataReader 类型的对象 reader 来读取返回的数据。在 while 循环中我们使用 reader 来读取每一条数据,并进行处理。最后使用 Close() 方法关闭 reader 对象。
- 更新数据库数据
如果我们需要修改 SQL Server 数据库中的数据,可以使用 ExecuteNonQuery() 方法来执行 UPDATE 或 DELETE 语句。具体步骤如下:
string sql = "UPDATE YourTableName SET Col2 = 'NewValue' WHERE Col1 = 'Value1'";
SqlCommand command = new SqlCommand(sql, connection);
try
{
int n = command.ExecuteNonQuery();
Console.WriteLine("执行成功,受影响的行数为:" + n);
}
catch (Exception ex)
{
Console.WriteLine("执行失败!错误信息:" + ex.Message);
}
在这段代码中,我们创建了一个名为 sql 的字符串变量,用于存储我们需要执行的 SQL 语句。然后我们创建了一个 SqlCommand 类型的对象 command,并将 sql 和前面创建的 connection 对象作为参数传递给它。最后使用 ExecuteNonQuery() 方法执行 SQL 语句,并为执行成功和失败编写了相应的输出代码。需要注意的是,在 UPDATE 或 DELETE 语句中,我们需要明确指定需要更新或删除的数据行。
- 关闭数据库连接
为了避免占用数据库资源,我们需要在使用完数据库之后及时关闭连接。具体步骤如下:
connection.Close();
在这里我们直接调用 SqlConnection 类的 Close() 方法来关闭连接。
示例:
以下是一个将从用户输入中获取数据并插入到数据库中的示例:
Console.Write("请输入 Col1 值:");
string col1 = Console.ReadLine();
Console.Write("请输入 Col2 值:");
string col2 = Console.ReadLine();
Console.Write("请输入 Col3 值:");
int col3 = Convert.ToInt32(Console.ReadLine());
string connectionString = "Data Source=YourServerName;Initial Catalog=YourDatabaseName;User ID=YourUserName;Password=YourPassword;";
SqlConnection connection = new SqlConnection(connectionString);
try
{
connection.Open();
Console.WriteLine("数据库连接成功!");
string sql = "INSERT INTO YourTableName (Col1, Col2, Col3) VALUES (@Col1, @Col2, @Col3)";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@Col1", col1);
command.Parameters.AddWithValue("@Col2", col2);
command.Parameters.AddWithValue("@Col3", col3);
int n = command.ExecuteNonQuery();
Console.WriteLine("执行成功,受影响的行数为:" + n);
}
catch (Exception ex)
{
Console.WriteLine("执行失败!错误信息:" + ex.Message);
}
finally
{
connection.Close();
}
在这个示例中,我们通过 Console.ReadLine() 方法从用户输入中获取了三个数据项 Col1、Col2、Col3,并使用了参数化的 SQL 语句将这些数据插入到数据库中。需要注意的是,我们在 SQL 语句中使用了参数 @Col1、@Col2、@Col3,而不是直接插入数据,这是为了防止 SQL 注入攻击。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#访问SQL Server数据库的实现方法 - Python技术站