C#实现连接SQL Server2012数据库并执行SQL语句的方法

C# 是一种跨平台、面向对象的编程语言,可用于开发各种类型的应用程序,包括与 SQL Server 等数据库系统的交互。本文将详细介绍 C# 实现连接 SQL Server2012 数据库并执行 SQL 语句的方法。

连接 SQL Server2012 数据库

使用 C# 连接 SQL Server2012 数据库,需要使用 System.Data.SqlClient 命名空间中的 SqlConnection 类。可以使用以下代码建立连接:

string connectionString = "Server=myServerAddress; Database=myDataBase; User Id=myUsername; Password=myPassword;";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

其中,connectionString 是连接字符串,指定了数据库服务器的地址、要访问的数据库名称、数据库用户的用户名和密码。如果连接成功,就可以使用 connection 对象执行 SQL 命令了。

执行 SQL 命令

使用 SqlConnection 对象执行 SQL 命令,需要使用 SqlCommand 对象和 ExecuteNonQuery 方法。以下代码演示了执行 INSERT 语句的方法:

string commandText = "INSERT INTO myTable (column1, column2) VALUES (@value1, @value2)";
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.AddWithValue("@value1", "some value");
command.Parameters.AddWithValue("@value2", 123);
int rowsAffected = command.ExecuteNonQuery();

其中,commandText 是 SQL 命令字符串,@value1 和 @value2 是参数名,可以通过 AddWithValue 方法指定参数值,rowsAffected 是受影响的行数。

以下代码演示了执行 SELECT 语句并读取结果的方法:

string commandText = "SELECT column1, column2 FROM myTable WHERE column2 > @value";
SqlCommand command = new SqlCommand(commandText, connection);
command.Parameters.AddWithValue("@value", 100);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
    Console.WriteLine("Column 1: " + reader.GetString(0));
    Console.WriteLine("Column 2: " + reader.GetInt32(1));
}
reader.Close();

其中,commandText 是 SQL 命令字符串,@value 是参数名,可以通过 AddWithValue 方法指定参数值,reader 是 SqlDataReader 对象,可以使用 Read 方法逐行读取查询结果并操作每一行的数据。

示例说明

以下是一个完整的示例代码,演示如何连接 SQL Server2012 数据库,执行 INSERT 和 SELECT 语句,并输出结果:

string connectionString = "Server=myServerAddress; Database=myDataBase; User Id=myUsername; Password=myPassword;";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();

// 插入新记录
string insertCommandText = "INSERT INTO myTable (column1, column2) VALUES (@value1, @value2)";
SqlCommand insertCommand = new SqlCommand(insertCommandText, connection);
insertCommand.Parameters.AddWithValue("@value1", "some value");
insertCommand.Parameters.AddWithValue("@value2", 123);
int rowsAffected = insertCommand.ExecuteNonQuery();
Console.WriteLine("Rows Affected: " + rowsAffected);

// 查询记录
string selectCommandText = "SELECT column1, column2 FROM myTable WHERE column2 > @value";
SqlCommand selectCommand = new SqlCommand(selectCommandText, connection);
selectCommand.Parameters.AddWithValue("@value", 100);
SqlDataReader reader = selectCommand.ExecuteReader();
while (reader.Read())
{
    Console.WriteLine("Column 1: " + reader.GetString(0));
    Console.WriteLine("Column 2: " + reader.GetInt32(1));
}
reader.Close();

// 关闭连接
connection.Close();

以上代码可以在 Visual Studio 中创建控制台应用程序,粘贴到 Program.cs 文件中,直接运行即可。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现连接SQL Server2012数据库并执行SQL语句的方法 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • oracle实现动态查询前一天早八点到当天早八点的数据功能示例

    针对“oracle实现动态查询前一天早八点到当天早八点的数据功能”,这个需求可以通过以下步骤来实现。 步骤一:获取查询时间范围 首先,我们需要获取到前一天早八点到当天早八点的时间范围,可以使用以下SQL语句(假设当前时间为2022年3月16日,早上9点): SELECT TRUNC(SYSDATE-1) + INTERVAL ’08’ HOUR AS sta…

    database 2023年5月19日
    00
  • Oracle WebLogic Server 12.2.1.2安装部署教程

    Oracle WebLogic Server 12.2.1.2 安装部署教程 本文将介绍 Oracle WebLogic Server 12.2.1.2 的安装和部署过程。 准备工作 在开始安装前,您需要进行以下准备工作: 下载安装程序:从官方网站下载 WebLogic Server 12.2.1.2 的安装程序,或者从 Oracle 官方 Docker H…

    database 2023年5月22日
    00
  • Linux使用MySQL忘记root密码及修改MySQL默认编码

    下面是详细讲解“Linux使用MySQL忘记root密码及修改MySQL默认编码”的完整攻略。 忘记root密码 当你忘记在Linux系统上使用MySQL的root密码时,可以通过以下步骤重置它。 步骤一:停止MySQL服务 在终端运行以下命令停止MySQL服务。 sudo systemctl stop mysql 步骤二:启动MySQL服务器跳过认证 使用…

    database 2023年5月22日
    00
  • mongodb eval 执行服务器端脚本

    MongoDB中的eval函数可以在服务端执行javascript脚本,其语法如下: db.eval(function, args…) 其中,function是要执行的javascript脚本,args是传递给脚本的参数列表。这个函数可以访问数据库中的所有集合和数据,并且可以更新数据。 为了执行eval函数,首先需要启动MongoDB Shell,在命令…

    database 2023年5月22日
    00
  • oracle跨库查询的方法

    下面是关于“Oracle跨库查询的方法”的完整攻略: 什么是Oracle跨库查询 Oracle数据库在使用过程中可能会涉及到多个数据库,有时需要在一个数据库里面查询另一个数据库的数据,这就是所谓的Oracle跨库查询。 Oracle跨库查询的方法 方法一:使用数据库链接查询 可以使用Oracle数据库提供的数据库链接(dblink)功能来实现跨库查询,具体实…

    database 2023年5月21日
    00
  • Cassandra 和 PostgreSQL 的区别

    Cassandra 和 PostgreSQL 都是常见的开源关系型数据库管理系统,它们之间有以下几个不同点: 数据模型 Cassandra 是基于列族存储的 NoSQL 数据库,而 PostgreSQL 是基于表格存储的关系型数据库。 Cassandra 的数据模型被设计为从广度和深度上可以扩展的方式,因此它比较适合具有大量数据和节点的分布式环境,它的数据存…

    database 2023年3月27日
    00
  • Oracle分页查询性能优化代码详解

    Oracle分页查询性能优化代码详解 前言 在处理大量数据时,我们常常需要进行分页查询。但是,如果不注意性能优化,分页查询的效率就会变得很低下。而Oracle数据库又是应用非常广泛的关系型数据库之一,因此,Oracle分页查询的性能优化显得尤为重要。 原理 Oracle数据库查询效率优化的核心在于SQL语句的优化。分页查询最为关键的在于其查询语句的构建,要使…

    database 2023年5月21日
    00
  • 记录服务器rm -rf误删文件的恢复过程

    以下是详细的“记录服务器 rm -rf 误删文件的恢复过程”的攻略: 背景 当我们使用 rm -rf 命令删除文件或目录时,有时会误删一些重要的文件。如果没有备份,那么数据就可能永久丢失。但是,在一些情况下,我们可以通过一些技术手段来找回这些文件。 恢复过程 停止对硬盘的写入 当发现误删文件时,要立即停止对硬盘的写入,避免新数据写入到被误删的文件占用原来的空…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部