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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux下视频流媒体服务器搭建详解「建议收藏」

    Linux下视频流媒体服务器搭建详解「建议收藏」目标用于搭建内网流媒体服务器支持视频的点播。背景用于支持培训网站中视频点拨功能,在培训网站总体方案中需要加入流媒体服务器,用于存储和传输视频资源。相关概念流媒体流媒体(StreamingMedia)是一种新兴的网络传输技术,在互联网上实时顺序地传输和播放视/音频等多媒体内容的连续时基数据流。流媒体技术包括流媒体数据采集、视/音频编解码、存储、传输、播放等领域。流媒体系统组成包括编码工具、流媒体数…

    2022年10月20日
    3
  • Python实现XML文件解析建议收藏

    1.XML简介XML(eXtensibleMarkupLanguage)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应用。它是web

    2021年12月18日
    72
  • protostuff报错[通俗易懂]

    protostuff报错[通俗易懂]themethodmergeFrom(byte[],T,Schema)inthetype isnotapplicableforthe。。。。。如果出现以上报错,说参数类型不匹配,RuntimeSchema和Schema类型无法转换,有很大的概率是倒包倒错了。要注意,需要导入的是:io.protostuffprotostuff-core1.5.2

    2022年5月2日
    74
  • Docker创建MySQL集装箱

    Docker创建MySQL集装箱

    2022年1月5日
    49
  • ftp上传下载工具,6款最值得推荐的Windows端ftp上传下载工具

    ftp上传下载工具,6款最值得推荐的Windows端ftp上传下载工具ftp上传下载工具是一种文件传输下载方式,它是TCP/IP协议栈的一部分;其中FTP又由两部分组成,一部分是FTP的服务器,另一部分是FTP的客户端!它能够高效安全地进行文件传输下载操作!可以使用服务器管理工具来作为FTP的客户端,进行FTP的操作,实现FTP的下载安装等!第一款:iis7服务器管理软件iis7远程桌面管理软件,是一款绿色小巧,功能实用的FTP工具软件,其界面简洁,操作方便,它支持FTP批量上传下载,它可以同时连接多台ftp服务器进行文件传输工作,还可以在线解压缩文件,支持文件查找,在线

    2022年5月27日
    40
  • goland激活码3月最新在线激活

    goland激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    40

发表回复

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

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