C#数据库操作小结

yizhihongxing

C# 数据库操作小结

引言

在 C# 应用程序开发中,数据库操作是非常常见的一项任务。本文将会从以下几个方面给读者提供 C# 数据库操作的攻略:

  1. 数据库连接
  2. 数据库查询
  3. 数据库插入
  4. 数据库更新
  5. 数据库删除

数据库连接

若要进行数据库操作,首先需要与数据库进行连接。以下是一个连接 MySQL 数据库的示例:

using System.Data;
using MySql.Data.MySqlClient;

// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";

MySqlConnection conn = new MySqlConnection(connStr);
try
{
    conn.Open();
    Console.WriteLine("连接成功");
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
finally
{
    conn.Close();
    Console.WriteLine("连接已关闭");
}

此示例中,定义 connStr 为 MySQL 数据库的连接字符串,然后通过 MySqlConnection 来创建连接。在 try 块中,通过调用 conn.Open() 方法来打开数据库连接;在 catch 块中,若出现异常,则将其输出到控制台上;在 finally 块中,关闭数据库连接。

数据库查询

在 C# 中使用 SQL 语句进行数据库查询,需要用到 MySqlCommandMySqlDataReader 两个类。以下是一个查询 MySQL 数据库的示例:

using System.Data;
using MySql.Data.MySqlClient;

// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";

MySqlConnection conn = new MySqlConnection(connStr);
try
{
    conn.Open();
    Console.WriteLine("连接成功");

    // SQL 语句
    string sql = "SELECT * FROM users";

    // 创建命令对象
    MySqlCommand cmd = new MySqlCommand(sql, conn);

    // 执行查询,并获取数据读取器
    MySqlDataReader reader = cmd.ExecuteReader();

    // 读取查询出来的数据
    while (reader.Read())
    {
        Console.WriteLine(reader["id"].ToString() + " " + reader["username"].ToString() + " " + reader["password"].ToString());
    }

    reader.Close();
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
finally
{
    conn.Close();
    Console.WriteLine("连接已关闭");
}

此示例中,定义 sql 为查询 MySQL 数据库的 SQL 语句,通过 MySqlCommand 来执行 SQL 语句,获得查询的结果集,用 MySqlDataReader 对象读取查询出的数据。在 while 循环中,通过读取器逐个输出查询出的一行数据。

数据库插入

在 C# 中使用 SQL 语句进行数据库插入,需要用到 MySqlCommand 类的 ExecuteNonQuery() 方法。以下是一个插入 MySQL 数据库的示例:

using System.Data;
using MySql.Data.MySqlClient;

// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";

MySqlConnection conn = new MySqlConnection(connStr);
try
{
    conn.Open();
    Console.WriteLine("连接成功");

    // SQL 语句
    string sql = "INSERT INTO users (username, password) VALUES (@username, @password)";

    // 创建命令对象
    MySqlCommand cmd = new MySqlCommand(sql, conn);
    cmd.Parameters.AddWithValue("@username", "zhangsan");
    cmd.Parameters.AddWithValue("@password", "123456");

    // 执行插入操作
    int affectedRows = cmd.ExecuteNonQuery();
    Console.WriteLine("插入成功,影响的记录数为:" + affectedRows);
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
finally
{
    conn.Close();
    Console.WriteLine("连接已关闭");
}

此示例中,定义 sql 为插入 MySQL 数据库的 SQL 语句,通过 MySqlCommandExecuteNonQuery() 方法向数据库执行 SQL 语句,成功插入数据后,返回受影响的行数。

数据库更新

在 C# 中使用 SQL 语句进行数据库更新,同样需要用到 MySqlCommand 类的 ExecuteNonQuery() 方法。以下是一个更新 MySQL 数据库的示例:

using System.Data;
using MySql.Data.MySqlClient;

// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";

MySqlConnection conn = new MySqlConnection(connStr);
try
{
    conn.Open();
    Console.WriteLine("连接成功");

    // SQL 语句
    string sql = "UPDATE users SET password=@password WHERE username=@username";

    // 创建命令对象
    MySqlCommand cmd = new MySqlCommand(sql, conn);
    cmd.Parameters.AddWithValue("@username", "zhangsan");
    cmd.Parameters.AddWithValue("@password", "654321");

    // 执行更新操作
    int affectedRows = cmd.ExecuteNonQuery();
    Console.WriteLine("更新成功,影响的记录数为:" + affectedRows);
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
finally
{
    conn.Close();
    Console.WriteLine("连接已关闭");
}

此示例中,定义 sql 为更新 MySQL 数据库的 SQL 语句,通过 MySqlCommandExecuteNonQuery() 方法向数据库执行 SQL 语句,成功更新数据后,返回受影响的行数。

数据库删除

在 C# 中使用 SQL 语句进行数据库删除,同样需要用到 MySqlCommand 类的 ExecuteNonQuery() 方法。以下是一个删除 MySQL 数据库的示例:

using System.Data;
using MySql.Data.MySqlClient;

// 数据库连接字符串
string connStr = "server=localhost;user=root;password=123456;database=testdb";

MySqlConnection conn = new MySqlConnection(connStr);
try
{
    conn.Open();
    Console.WriteLine("连接成功");

    // SQL 语句
    string sql = "DELETE FROM users WHERE username=@username";

    // 创建命令对象
    MySqlCommand cmd = new MySqlCommand(sql, conn);
    cmd.Parameters.AddWithValue("@username", "zhangsan");

    // 执行删除操作
    int affectedRows = cmd.ExecuteNonQuery();
    Console.WriteLine("删除成功,影响的记录数为:" + affectedRows);
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}
finally
{
    conn.Close();
    Console.WriteLine("连接已关闭");
}

此示例中,定义 sql 为删除 MySQL 数据库的 SQL 语句,通过 MySqlCommandExecuteNonQuery() 方法向数据库执行 SQL 语句,成功删除数据后,返回受影响的行数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#数据库操作小结 - Python技术站

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

相关文章

  • Linux下Navicat15激活的详细步骤

    下面是“Linux下Navicat15激活的详细步骤”的攻略: 步骤一:下载Navicat15并安装 首先,我们需要下载Navicat15的安装包并将其安装到Linux系统中。你可以从Navicat官方网站上下载适用于Linux系统的Navicat15安装包。 步骤二:获取Navicat15的注册码 接下来,我们需要访问Navicat官方网站并注册账号,登录…

    database 2023年5月22日
    00
  • 详细讲解西软FOXHIS增量备份与恢复方法

    详细讲解西软FOXHIS增量备份与恢复方法 什么是FOXHIS增量备份 FOXHIS增量备份是一种备份策略,它可以仅备份数据发生变化的部分,而不是全量备份。这可以节省备份的时间和存储空间,并减小备份对系统性能的影响。 如何进行FOXHIS增量备份 FOXHIS增量备份需要借助工具来实现,以下是具体步骤: 打开FOXHIS程序,在主页面选择“设置”-“增量备份…

    database 2023年5月22日
    00
  • Oracle数据库opatch补丁操作流程

    Oracle数据库opatch补丁操作流程 Oracle数据库opatch补丁操作是管理Oracle补丁的重要流程之一,可以保障数据库的安全性和稳定性。本文将详细讲解Oracle数据库opatch补丁操作的步骤和注意事项。 步骤一:下载opatch补丁 首先,需要到官网(https://www.oracle.com/downloads/)下载opatch补丁…

    database 2023年5月21日
    00
  • 网络营销主要做什么?新手做网络营销如何开始?

    网络营销是指利用互联网和新媒体平台对产品或服务进行推广、宣传和销售的一种营销方式,主要涉及的领域包括搜索引擎营销、社交媒体营销、电子邮件营销、内容营销等。下面介绍新手如何开始做网络营销。 确定目标群体和营销策略 首先需要确定自己的产品或服务的目标群体,包括年龄、性别、兴趣爱好、地域等信息,根据这些信息可以选择合适的营销策略,比如选择在哪些社交媒体平台上宣传,…

    database 2023年5月19日
    00
  • 通过Nginx+Tomcat+Redis实现持久会话

    让我来为您讲解“通过Nginx+Tomcat+Redis实现持久会话”的完整攻略。 概述 在实际开发中,为了保证用户的登录状态不会因为网络中断或服务器重启等原因而被丢失,我们需要使用持久性的会话。而通过将会话信息存储在Redis中,可以实现跨服务器的会话管理,而使用Nginx作为反向代理服务器,则可以优化请求分发,提高系统性能。 步骤 1. 安装Nginx …

    database 2023年5月22日
    00
  • SQL之Join的使用详解

    SQL之Join的使用详解 Join是SQL查询中重要的操作之一,它是将多个表中的数据进行联接,生成新的关系表,及时获取多个表中对应的数据。下面我们详细介绍Join的使用方法。 Join简介 Join的作用是基于两个表之间的关系,将它们的信息合并到一个表中。我们可以通过Join来实现从一个表中查询有关联的信息的效果。 常用的Join类型有:内连接(Inner…

    database 2023年5月18日
    00
  • Oracle 实现类似SQL Server中自增字段的一个办法

    下面是Oracle 实现类似SQL Server中自增字段的一个办法的完整攻略。 准备工作 在 Oracle 中,我们可以通过使用 Sequence(序列)和 Trigger(触发器)来实现类似 SQL Server 中的自增字段。在开始之前,需要进行如下的准备工作: 创建 Sequence:用于生成自增的数字。 创建 Table:包含需要自增的字段。 创建…

    database 2023年5月21日
    00
  • 用一条mysql语句插入多条数据

    要使用一条MySQL语句一次性插入多条数据,可以使用INSERT INTO语句结合VALUES子句和多个数据值的列表,或者使用SELECT语句将多个数据行插入到表中。以下是两种不同的方法。 方法1:使用VALUES子句插入多个数据值 此方法将所有要插入的数据值列表放在一个VALUES子句中,如下所示: INSERT INTO table_name (colu…

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