大家好,又见面了,我是你们的朋友全栈君。
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.cn/151500.html原文链接:https://javaforall.cn