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

yizhihongxing

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数据库中 call 和 exec的区别

    题目要求讲解“Oracle数据库中 call 和 exec的区别”,我将从以下几个方面进行讲解: call 和 exec 的概念解释; call 和 exec 的语法和用法区别; 总结。 1. call 和 exec 的概念解释 在 Oracle 数据库中,call 和 exec 都用于调用存储过程(StoredProcedure)。存储过程是一组预编译的 …

    database 2023年5月21日
    00
  • 天谕9月3日更新内容一览

    天谕9月3日更新内容一览攻略 前言 天谕9月3日更新内容一览已经公布,本篇攻略将详细讲解更新内容,并提供相应的操作指南,方便玩家进行游戏。 更新内容 本次更新内容主要包括以下几点: 新增珍魂收集活动 新增图腾装备评分系统 新增“春节大阵容”限时活动 下面逐一解析: 珍魂收集活动 珍魂收集活动是一项全新的收集活动,活动期间玩家需要通过各种途径获得珍魂碎片并兑换…

    database 2023年5月21日
    00
  • 关于MySQL中savepoint语句使用时所出现的错误

    当在MySQL中使用事务时,可以使用Savepoint创建一个保存点,表示当前的事务执行到此处,如果后续的操作出现错误,则可以回到此处进行恢复操作。然而,在使用Savepoint语句时也可能会遇到错误。 以下是关于MySQL中Savepoint语句使用时所出现的错误的完整攻略: 1. 错误情况 1.1. 不支持Savepoint MySQL存储引擎的不同,对…

    database 2023年5月18日
    00
  • CentOS6.2上安装Oracle10g报ins_emdb.mk错误处理方法

    下面是详细的攻略: 问题描述: 在CentOS6.2上安装Oracle10g时,可能会遇到以下报错: ins_emdb.mk:20: *** missing separator. Stop. 这是由于Oracle安装程序在生成ins_emdb.mk文件时出现了错误,导致编译时出现问题。下面是解决方法。 解决方法: 步骤如下: 安装依赖 在安装Oracle之前…

    database 2023年5月22日
    00
  • Redis 查询、写入

    string; var user = RedisManager.Get<xxx>(“user:” + token); RedisManager.Set(“module:” + token, list); hash: List<xxx> model = RedisManager.HashGetAll<se_variety_menu…

    Redis 2023年4月12日
    00
  • .bat批处理启动redis

    背景:   最近,公司的项目开发,需要用到Redis,然而每天都需要到d盘下面的去启动redis很烦, 我是我就想写一个.bat启动文件放在桌面上,这样每天只要在桌面上点以下redis的bat文件就可以启动redis。   步骤: 先写一个redis_startup.bat脚本放到桌面上: ::启动redis的命令 @echo off ::这是简单的输出,相…

    Redis 2023年4月13日
    00
  • mysql优化利器之explain使用介绍

    MySQL 优化利器之 Explain 使用介绍 什么是 Explain ? Explain 是 MySQL 内置的一个用于分析查询语句的工具,在分析查询语句时,我们可通过 Explain 得到一份详细的优化建议。 Explain 使用方法 Explain 的语法如下: EXPLAIN [EXTENDED] SELECT * FROM 表名 WHERE 条件…

    database 2023年5月19日
    00
  • Excel导入数据库时出现的文本截断问题解决方案

    当我们使用Excel导入数据库时,可能会遇到导入文本数据时被截断的问题,造成数据不完整,这时我们需要解决这个问题。 问题背景 在使用Excel导入数据库时,以CSV格式保存Excel文件,可以通过数据导入向导进行数据导入。但是,在导入文本数据时,极有可能产生文本截断的问题。 解决方法 解决文本截断问题有两种常见方法: 方法一:增加导入列的宽度 可以将数据导入…

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