C#访问SQL Server数据库的实现方法

下面就为您详细讲解“C#访问SQL Server数据库的实现方法”的完整攻略。整个攻略主要围绕以下几个方面展开:

  1. 连接SQL Server数据库
  2. 执行SQL语句
  3. 读取数据库数据
  4. 更新数据库数据
  5. 关闭数据库连接

接下来我们将依次对以上5点进行详细的说明。

  1. 连接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 块来确保关闭连接。

  1. 执行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 语句,并为执行成功和失败编写了相应的输出代码。

  1. 读取数据库数据

如果我们需要从 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 对象。

  1. 更新数据库数据

如果我们需要修改 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 语句中,我们需要明确指定需要更新或删除的数据行。

  1. 关闭数据库连接

为了避免占用数据库资源,我们需要在使用完数据库之后及时关闭连接。具体步骤如下:

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技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • C# Console.Read()方法: 从控制台读取一个字符

    Console.Read()是C#语言中的一个控制台读取方法,它从输入流中读取下一个字符,并将其作为整数返回。它的返回值是输入的字符对应的ASCII码值。如果读取到达到输入流的末尾,则返回-1。 在使用Console.Read()方法时,需要注意以下几点: 该方法只能读取一个字符,且输入缓冲区将保留任何其他字符或回车符。 如果用户输入了多个字符,则只返回第一…

    C# 2023年4月19日
    00
  • python代码中怎么换行

    Python代码中换行有以下几种方式: 方法一:使用“\” 在Python中,我们可以使用“\”字符来将长代码拆分成多行。在“\”字符后面加上回车符,Python会认为下一行代码是当前行的延续,直到整个表达式结束。例如: a = 1 + 2 + 3 + \ 4 + 5 + 6 + \ 7 + 8 + 9 print(a) # 输出 45 以上代码将长的表达式…

    C# 2023年5月31日
    00
  • C#延迟执行方法函数实例讲解

    C#延迟执行方法函数实例讲解 什么是延迟执行 延迟执行是指在需要的时候才会进行真正的计算或执行,它可以提高程序的执行效率,在一些需要消耗大量资源或时间的情况下尤为重要。 C#中的延迟执行 C#中延迟执行可以通过Lambda表达式、Func和Action委托等方式实现。 Lambda表达式实现延迟执行 Lambda表达式是一种简单、紧凑的语法形式,可以在需要的…

    C# 2023年6月1日
    00
  • C#异步使用需要注意的几个问题

    C#异步使用需要注意的几个问题 异步编程是现代软件开发中非常重要的一种编程方式,它可以充分利用CPU资源,提高程序的响应速度,提升用户体验。但是,异步编程也存在一些问题,需要开发者注意。 本文将介绍C#中异步编程需要注意的几个问题,包括: 异常处理 对象生命周期管理 异步编程的性能影响 异常处理 在异步编程中,如果异步方法内部出现异常而不进行处理,将会导致整…

    C# 2023年5月15日
    00
  • unity avprovideo插件的使用详解

    Unity AVProVideo插件的使用详解攻略 什么是Unity AVProVideo插件? AVProVideo是一款由Unity Asset Store上One of the Kind Productions公司开发的高级视频播放插件,它可以在Unity中轻松实现高品质和高性能的视频播放,支持多种视频格式和编码器(如H.264、H.265、VP8、V…

    C# 2023年6月3日
    00
  • C#列出当前系统所有正在运行程序的方法

    关于“C#列出当前系统所有正在运行程序的方法”的完整攻略,可以通过以下步骤来实现: 首先,需要引用System.Diagnostics命名空间,该命名空间提供了一些类,可以操作正在运行的进程,包括获取正在运行的进程信息。 接着,可以通过调用Process.GetProcesses()静态方法,来获取当前系统中正在运行的所有进程。该方法返回一个Process类…

    C# 2023年6月7日
    00
  • c#实现数据库事务示例分享

    下面是关于“C#实现数据库事务示例分享”的详细攻略。 什么是数据库事务 事务是指作为单个逻辑工作单元执行的一连串操作。 在关系型数据库中,一个事务必须具有四个特性,即:原子性、一致性、隔离性和持久性。 原子性:事务作为一个整体来执行,事务中的操作要么全部完成,要么全部不完成。 一致性:在事务开始和结束时,都必须使数据的完整性保持一致。 隔离性:事务执行过程中…

    C# 2023年6月1日
    00
  • C# String.Substring()方法: 检索此字符串中子字符串的指定部分

    String.Substring() 可以用于获取字符串的子串,它的作用是返回一个新的字符串,该字符串是原字符串的一个子集。 使用方法 String.Substring()的使用方法如下: string.Substring(int startIndex) string.Substring(int startIndex, int length) 其中,star…

    C# 2023年4月19日
    00
合作推广
合作推广
分享本页
返回顶部