C#数据库操作小结

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日

相关文章

  • 详解python定时简单爬取网页新闻存入数据库并发送邮件

    下面我将详细讲解“详解python定时简单爬取网页新闻存入数据库并发送邮件”的完整攻略。 一、需求分析 本次需求分析,我们需要采集某个网站的新闻,并存储到数据库中,然后通过邮件发送给指定的邮箱,要求可以定时运行。 二、技术选型 采集:requests, Beautifulsoup4 存储:MySQLdb 发送邮箱:smtplib 定时运行:apschedul…

    database 2023年5月22日
    00
  • LINUX下Oracle数据库用户创建方法详解

    LINUX下Oracle数据库用户创建方法详解 介绍 在LINUX下安装Oracle数据库后,需要创建数据库用户来进行数据库访问和管理,本文将详细讲解LINUX下Oracle数据库用户创建的方法。 步骤 1. 登录Oracle数据库 在LINUX下登录Oracle数据库需要使用SQL*Plus命令行工具,打开终端并输入以下命令: sqlplus / as s…

    database 2023年5月21日
    00
  • SQL 创建垂直直方图

    下面是SQL创建垂直直方图的完整攻略: 什么是垂直直方图? 垂直直方图(Vertical Bar Chart) 是一种常用的数据可视化图表形式。它将数据以柱形的形式展现出来,柱形的高度表示相应数据的大小。垂直直方图通常用于显示不同类别的数据值,可以快速比较某些数据的差异。 通常,垂直直方图由两个元素组成: y轴:表示不同的数据点,即各种类别。 x轴:表示数据…

    database 2023年3月27日
    00
  • Redis中的数据过期策略详解

    Redis中的数据过期策略详解 Redis是一个快速的键-值存储系统,它被广泛应用于许多不同的应用程序中。Redis使用了多种数据过期策略,以便清除过期的键值对,以保证其内存占用不会无限增大。本文将会详细讲解Redis中的数据过期策略。 Redis中的数据过期策略 Redis中使用两种数据过期策略:惰性删除和定期删除。 2.1 惰性删除 当我们使用Redis…

    database 2023年5月22日
    00
  • HTML5 Web Database 数据库的SQL语句的使用方法

    下面是详细讲解“HTML5 Web Database 数据库的SQL语句的使用方法”的完整攻略: 1. HTML5 Web Database简介 HTML5 Web Database是浏览器本地存储数据的一种方式,它能够在浏览器中创建一个SQL数据库,数据以表格的形式存储,并支持SQL语句进行增、删、改、查等操作。HTML5 Web Database使用方便…

    database 2023年5月21日
    00
  • Oracle按身份证号得到省市、性别、年龄的示例代码

    下面就为你介绍如何使用身份证号获取省市、性别、年龄的示例代码: 实现思路 通过正则表达式获取身份证号的前六位,即省市代码; 将省市代码与省市名称的映射关系保存在字典中,根据省市代码从字典中获取省市名称; 根据身份证号的第17位确定性别,奇数为男性,偶数为女性; 根据身份证号的前六位和出生日期计算年龄。 实现代码 def get_local_info(id_n…

    database 2023年5月22日
    00
  • CentOS系统上安装配置Oracle数据库的详细教程

    CentOS系统上安装配置Oracle数据库的详细教程 1. 前置条件 CentOS系统(本教程基于CentOS 7) Oracle数据库zip安装文件(下载地址: https://www.oracle.com/database/technologies/oracle-database-software-downloads.html) 配置好的YUM源 2.…

    database 2023年5月22日
    00
  • idea 连接不上 redis解决办法

    客户端要能够成功连接上redis服务器,需要检查如下三个配置: 1.远程Linux防火墙已经关闭,以我这里的CentOS7为例,关闭防火墙命令 systemctl stop firewalld.service 同时还可以再补一刀 systemctl disable firewalld.service 表示禁止防火墙开机启动。 2.关闭redis保护模式,在r…

    Redis 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部