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)
上一篇 2022年6月20日 上午10:16
下一篇 2022年6月20日 上午10:16


相关推荐

  • c picturebox 图像拖拽和缩放

    c picturebox 图像拖拽和缩放核心步骤 新建 Point 类型全局变量 mouseDownPoi 记录拖拽过程中鼠标位置 MouseDown 事件记录 Cursor 位置 MouseMove 事件计算移动矢量 并更新 pictureBox1 Location 代码 privatevoidp MouseDown objectsender MouseEventAr

    2026年3月16日
    2
  • Pycharm设置解释器「建议收藏」

    Pycharm设置解释器「建议收藏」背景:最近需要改文章,增加实验,要把之前的实验跑起来。其间,遇到一个很诡异的问题,在一个工程里跑得很正常的程序,到了另外一个工程里,相似的文件,只是修改了一点参数而已,就会报错,如ModuleNotFoundError:Nomodulenamed’tensorflow.contrib.slim’,当时就怀疑是不是解释器设置问题。由于当时夜黑风高,困意来袭,解释器位置设置竟然也找不到,作罢。第二天直接复制粘贴找问题原因无果。问题:果然是解释器设置问题。默认的解释器是base的python环境,由.

    2022年8月25日
    8
  • 基于matlab的机械臂仿真_移动机器人matlab运动学仿真

    基于matlab的机械臂仿真_移动机器人matlab运动学仿真目的  本文手把手教你如何在Mathematica软件中搭建机械臂的三维仿真环境,包括以下几部分:  1. 如何导入机械臂的三维模型;  2. 如何进行(正/逆)运动学仿真;  3. 如何进行(正/逆)动力学仿真;  4. 如何进行碰撞检测;  5. 如何进行控制方法的验证;  先看一下效果(先尝后买):  对于机器人研发设计人员,一款好用的仿真软件能对他的

    2022年10月20日
    5
  • OpenProcessToken 的操作

    OpenProcessToken 的操作OpenProcessToken的操作要对一个任意进程(包括系统安全进程和服务进程)进行指定了写相关的访问权的OpenProcess操作,只要当前进程具有SeDeDebug权限就可以了。要是一个用户是Administrator或是被给予了相应的权限,就可以具有该权限。可是,就算我们用Administrator帐号对一个系统安全进程执行OpenProcess(PROCESS_ALL_AC

    2022年6月25日
    41
  • 听听各位对Ubuntu的UI的看法

    听听各位对Ubuntu的UI的看法

    2021年8月26日
    54
  • smail指令参考「建议收藏」

    smail指令参考「建议收藏」DalvikopcodesAuthor: GaborPallerVxvaluesinthetabledenoteaDalvikregister.Dependingontheinstruction,16,256or64kregisterscanbeaccessed.Operationsonlonganddoublevalues

    2025年6月19日
    4

发表回复

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

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