找回密码
 立即注册

QQ登录

只需一步,快速开始

工控课堂 首页 工控文库 上位机编程 查看内容

C# 操作MySQL数据库, ExecuteReader()方法参数化执行T-SQL语句, 游标读取数据 ...

2021-11-27 19:41| 发布者: gkket| 查看: 951| 评论: 0

摘要: C# 操作My SQL数据库需要引用"MySql.Data", 可通过两种方式获取。1、从NuGet下载"Install-Package MySql.Data -Version 6.8.7"2、手动下载并添加引用"MySql.Data.dll",官网地址:https://dev.mysql.com/downloads/c ...

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数据库, ExecuteReader()方法参数化执行T-SQL语句, 游标读取数据


--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 System.Data;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 = "SELECT * FROM users WHERE sex=@sex;";             MySqlConnection conn = new MySqlConnection(connectionString);            MySqlCommand cmd = new MySqlCommand();            try            {                conn.Open();                cmd.Connection = conn;                cmd.CommandText = sqlstring;                cmd.CommandType = System.Data.CommandType.Text;                 // 绑定参数, 方式一                cmd.Parameters.AddWithValue("@sex", "Male");                 //// 绑定参数, 方式二                //cmd.Parameters.Add("@sex", MySqlDbType.VarChar);                //cmd.Parameters["@sex"].Value = "Male";                 MySqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);                while (reader.Read())                {                    if (reader.HasRows)                    {                        Console.WriteLine(reader.GetInt32(0) + " - " + reader.GetString(1) + " - " + reader.GetString(2));                    }                }            }            catch            {                if (conn.State != ConnectionState.Closed)                {                    conn.Close();                }                throw;            }             Console.Read();        }    }}
关注公众号,加入500人微信群,下载100G免费资料!
发表评论

最新评论

热门文章
关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-23 05:38 , Processed in 0.293477 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部