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


相关推荐

  • UDP 流量攻击_网络流量攻击

    UDP 流量攻击_网络流量攻击最近在群里聊天看到有人被UDP攻击我几年前也遇到过当时前任工作交接过来面临很多挑战。话又说回来凡是跳槽或主动找到你的公司都是让你去救火的。先说说UDP攻击原理很简单就是随便连接一个IP地址随便写一个端口号。IP地址存在与否并不重要。这是UDP的特性。然后发送大数据包堵塞交换机路由器。我们在局域网上模拟注意UDP不能在同一个VLAN下…

    2022年9月27日
    0
  • Android源码学习「建议收藏」

    Android源码学习「建议收藏」作为一名程序员,肯定不仅仅限于使用API文档,因为浮于表面是远远不够的。进阶学习的阶段,需要我们保持一颗好奇的心,深入阅读Android源码,学习优秀的代码风格和设计思想,知其然并且知其所以然。引用Google的一张框架图:Applications层,和用户直接交互的就是这些应用程序,它们都是用Java开发的。 JavaFramework层,这一层大部分用Java语言编写。它是An…

    2022年6月6日
    27
  • js解压gzip数据_gzip 压缩

    js解压gzip数据_gzip 压缩微信小程序开发交流qq群173683895承接微信小程序开发。扫码加微信。GZIP压缩,GZIP解压需要用到pako.js文件:下载地址:https://download.csdn.net/download/qq_35713752/10627338使用方法:JS压缩和解压:varpako=require(‘../../utils/pako.min.js…

    2022年9月7日
    0
  • CNN(卷积神经网络)详解

    CNN(卷积神经网络)详解WhyCNN首先回答这样一个问题,为什么我们要学CNN,或者说CNN为什么在很多领域收获成功?还是先拿MNIST来当例子说。MNIST数据结构不清楚的话自行百度。。我自己实验用两个hiddenlayer的DNN(全连接深度神经网络)在MNIST上也能取得不错的成绩(98.29%)。下面是一个三个hiddenlayer的网络结构图盗图1全连接深度神经网络,顾名思义,每个神经…

    2022年5月24日
    66
  • GOF23—工厂设计模式练习代码和随笔

    GOF23—工厂设计模式练习代码和随笔

    2021年7月13日
    89
  • 数据分析,主成分分析例题

    数据分析,主成分分析例题已知协方差矩阵求X的各主成分以及主成分的贡献率主成分分析原理:找出几个综合变量来代替原来众多的变量,使这些综合变量能尽可能地代表原来变量的信息量,且彼此之间互不相关统计方法:主成分分析(主分量分析)主成分分析步骤1.根据已知协方差矩阵,求出相应的特征值(特征根)令|kE-A|=0(其中k是特征值),求出的k就是所需要的特征值2.求出对应特征值的特征向量解方程|kE-A|X=0,求X的所有情况(参考高等代数的第三章解线性方程组)求出基本解系,设定自由未知量的值(X是向量)3.对所求出来

    2025年7月12日
    0

发表回复

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

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