C# 操作MySQL数据库, ExecuteNonQuery()方法执行T-SQL语句, UPDATE, 更新数据

C# 操作My SQL数据库需要引用"MySql.Data", 可通过两种方式获取。

1、从NuGet下载"Install-Package MySql.Data -Version 6.8.7"

2、手动下载并添加引用"MySql.Data.dll",官网地址:https://dev.mysql.com/downloads/connector/net/

推荐使用方式一,从NuGet上直接获取所需dll,方便快捷。


C# 操作MySQL数据库, ExecuteNonQuery()方法执行T-SQL语句, UPDATE, 更新数据


--ExecuteNonQuery()
对连接执行 Transact-SQL 语句并返回受影响的行数,如果SQL语句是对数据库的记录进行操作(如记录的增加、删除和更新),那么方法将返回操作所影响的记录条数。


--ExecuteScalar()
执行查询,并返回查询所返回的结果集中第一行的第一列。 忽略其他列或行。该方法所返回的结果为object类型,在使用之前必须强制转换为所需的类型。


--ExecuteReader()
将 CommandText 发送到 Connection,并生成 SqlDataReader。DataReader对象提供了游标形式的读取方式,当从结果行中读取了一行,则游标会继续读取到下一行。通过read方法可以判断数据是否还有下一行,如果存在数据,则继续运行返回true,如果没有数据,则返回false。


创建MySQL数据库、数据表:

#创建数据库
CREATE DATABASE IF NOT EXISTS test_db; 

#使用数据库
USE test_db;

#创建用户表
DROP TABLE IF EXISTS users;
CREATE TABLE users(
	id int unsigned NOT NULL AUTO_INCREMENT UNIQUE,#主键
	name varchar(50) NOT NULL,#姓名
	sex varchar(10),#性别
	PRIMARY KEY(name)
);
INSERT INTO users(name,sex) VALUES ('Alice','Female');
INSERT INTO users(name,sex) VALUES ('Amy','Female');
INSERT INTO users(name,sex) VALUES ('Bruce','Male');


C#代码:

using System;
using MySql.Data.MySqlClient;

namespace MySqlDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "server=127.0.0.1;port=3306;database=test_db;charset=utf8;user id=root;password=123456;pooling=false;";
            string sqlstring = "UPDATE users SET sex='Male' WHERE name='Alice';";

            using (MySqlConnection conn = new MySqlConnection(connectionString))
            {
                using (MySqlCommand cmd = new MySqlCommand())
                {
                    conn.Open();
                    cmd.Connection = conn;
                    cmd.CommandText = sqlstring;
                    cmd.CommandType = System.Data.CommandType.Text;

                    try
                    {
                        // 返回受影响的行数, 执行INSERT语句, 返回创建条目数
                        //                  执行UPDATE语句, 返回更新条目数
                        //                  执行DELETE语句, 返回删除条目数
                        int val = cmd.ExecuteNonQuery();
                        Console.WriteLine(val);
                    }
                    catch
                    {
                        throw;
                    }
                }
            }

            Console.Read();
        }
    }
}


作者最新文章
Winform TextBox (文本框) 密码输入框, 输入内容显示*号 (星号)
Winform 启动前弹出登录界面, 登录成功之后再显示主界面
C# 字符串string和字符数组char[]的相互转换
C# 字符串倒序输出, 实现字符串倒序的方法
Winform 如何从 TextBox(文本框) 控件读取每一行数据到数组