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

mysql executereader_C# 操作MySQL数据库, ExecuteReader()方法参数化执行T-SQL语句, 游标读取数据…C#操作MySQL数据库需要引用”MySql.Data”,可通过两种方式获取。1、从NuGet下载”Install-PackageMySql.Data-Version6.8.7″推荐使用方式一,从NuGet上直接获取所需dll,方便快捷。C#操作MySQL数据库,ExecuteReader()方法参数化执行T-SQL语句,游标读取数据–ExecuteNonQuery()对连接执…

大家好,又见面了,我是你们的朋友全栈君。

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

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

推荐使用方式一,从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();

}

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151500.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python和pycharm以及anaconda的安装顺序_简述信息消息信号三者的区别与联系

    python和pycharm以及anaconda的安装顺序_简述信息消息信号三者的区别与联系1、致欢迎词我将详细讲述在学Python初期的各种手忙脚乱的问题的解决,通过这些步骤的操作,让你的注意力集中在Python的语法上以及后面利用Python所解决的项目问题上。而我自己作为小白,很不幸的没有错过任何的坑,都跳了进去,所以在这里写下经验贴,一方面希望能给后来的学者能够高效的避开这些坑,另一方面也算是自己的总结与警告。2、内容大纲2.1安装顺序能够使用Python的安装…

    2022年8月26日
    5
  • 用C语言来分割字符串

    相关:http://www.cnblogs.com/roucheng/p/cfenge.html

    2021年12月27日
    46
  • windows 10 install oracle 12c error:[ INS-30131 ]

    windows 10 install oracle 12c error:[ INS-30131 ]

    2022年1月9日
    54
  • 最新最简单的黑苹果Mac Windows双系统教程(单双系统通用)

    最新最简单的黑苹果Mac Windows双系统教程(单双系统通用)黑苹果MacWindows双系统教程(单双系统通用)在文章最后我会放EFI链接和镜像链接一、 准备工作:一个8G以上的U盘安装etcher(制作黑苹果U盘的工具)下载最新镜像(我这里推荐去黑果小兵的博客去下载)找和自己电脑型号匹配的EFI(或者和你配置差不多的电脑的EFI也可以)进BIOS关闭安全启动(securityboot)二、 开始制作:下载etcher链接插入…

    2022年6月6日
    721
  • docker(4)解决pull镜像速度缓慢「建议收藏」

    docker(4)解决pull镜像速度缓慢「建议收藏」前言上一篇讲到pull镜像,但是pull镜像的时候下拉的速度实在感人,有什么解决办法吗?我们只需将docker镜像源修改为国内的将docker镜像源修改为国内的:在/etc/docker/d

    2022年7月28日
    22
  • Redis 4.x/5.x IDOR漏洞复现[通俗易懂]

    Redis 4.x/5.x IDOR漏洞复现[通俗易懂]Redis4.x/5.x未授权访问漏洞Redis未授权访问在4.x/5.0.5以前版本下,我们可以使用master/slave模式加载远程模块,通过动态链接库的方式执行任意命令。漏洞复现最近碰到ctf的题目是通过ssrf和redis的未授权访问打入内网getshell,想着用docker复现以下此漏洞。拉取环境开启环境后,如图使用redis-cli-hyour-ipj即可连接redis数据库,并且可以清空所有数据,即有未授权访问漏洞使用poc实现远程命令执行先将下载好的poc目录下

    2022年6月6日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号