mysql数据库open函数_C#访问Mysql数据库方法,以及库函数

先说说在C#当中需要准备的工作吧。在这里我分为了四个步骤:

1.网上下载MySql.Data.dll

2.在项目当中添加引用MySql.Data.dll

3.在操作类当中添加:

using MySql.Data;

using MySql.Data.MySqlClient;

4.接下来就是具体的函数了

同时,在这里我提供一个C#操作Mysql数据库的库函数,供大家学习~~

public class MySQL

{

//public static string ConnStr = @"server=localhost;uid=root;pwd=;database=my_soft;charset=utf8";

public static string ConnStr = MyData.Properties.Settings.Default.my_soft_mysqlConn;

//打开数据库链接

public static MySqlConnection Open_Conn(string ConnStr)

{

try

{

MySqlConnection Conn = new MySqlConnection(ConnStr + "Connect Timeout=5;");

Conn.Open();

return Conn;

}

catch (Exception Ex)

{

throw Ex;

}

}

//关闭数据库链接

public static void Close_Conn(MySqlConnection Conn)

{

if(Conn != null)

{

Conn.Close();

Conn.Dispose();

}

GC.Collect();

}

//运行MySql语句

public static int Run_SQL(string SQL, string ConnStr)

{

MySqlConnection Conn = Open_Conn(ConnStr);

MySqlCommand Cmd = Create_Cmd(SQL, Conn);

try

{

int result_count = Cmd.ExecuteNonQuery();

Close_Conn(Conn);

return result_count;

}

catch

{

Close_Conn(Conn);

return 0;

}

}

// 生成Command对象

public static MySqlCommand Create_Cmd(string SQL, MySqlConnection Conn)

{

MySqlCommand Cmd = new MySqlCommand(SQL, Conn);

return Cmd;

}

// 运行MySql语句返回 DataTable

public static DataTable Get_DataTable(string SQL, string ConnStr, string Table_name)

{

MySqlConnection Conn = Open_Conn(ConnStr);

MySqlDataAdapter Da = new MySqlDataAdapter(SQL, Conn);

DataTable dt = new DataTable(Table_name);

Da.Fill(dt);

Close_Conn(Conn);

return dt;

}

// 运行MySql语句返回 MySqlDataReader对象

public static MySqlDataReader Get_Reader(string SQL, string ConnStr)

{

MySqlConnection Conn = Open_Conn(ConnStr);

MySqlCommand Cmd = Create_Cmd(SQL, Conn);

MySqlDataReader Dr;

try

{

Dr = Cmd.ExecuteReader(CommandBehavior.Default);

}

catch

{

throw new Exception(SQL);

}

Close_Conn(Conn);

return Dr;

}

// 运行MySql语句返回 MySqlDataAdapter对象

public static MySqlDataAdapter Get_Adapter(string SQL, string ConnStr)

{

MySqlConnection Conn = Open_Conn(ConnStr);

MySqlDataAdapter Da = new MySqlDataAdapter(SQL, Conn);

return Da;

}

// 运行MySql语句,返回DataSet对象

public static DataSet Get_DataSet(string SQL, string ConnStr, DataSet Ds)

{

MySqlConnection Conn = Open_Conn(ConnStr);

MySqlDataAdapter Da = new MySqlDataAdapter(SQL, Conn);

try

{

Da.Fill(Ds);

}

catch(Exception Err)

{

throw Err;

}

Close_Conn(Conn);

return Ds;

}

// 运行MySql语句,返回DataSet对象

public static DataSet Get_DataSet(string SQL, string ConnStr, DataSet Ds, string tablename)

{

MySqlConnection Conn = Open_Conn(ConnStr);

MySqlDataAdapter Da = new MySqlDataAdapter(SQL, Conn);

try

{

Da.Fill(Ds,tablename);

}

catch(Exception Ex)

{

throw Ex;

}

Close_Conn(Conn);

return Ds;

}

// 运行MySql语句,返回DataSet对象,将数据进行了分页

public static DataSet Get_DataSet(string SQL, string ConnStr, DataSet Ds, int StartIndex, int PageSize, string tablename)

{

MySqlConnection Conn = Open_Conn(ConnStr);

MySqlDataAdapter Da = new MySqlDataAdapter(SQL, Conn);

try

{

Da.Fill(Ds, StartIndex, PageSize, tablename);

}

catch(Exception Ex)

{

throw Ex;

}

Close_Conn(Conn);

return Ds;

}

// 返回MySql语句执行结果的第一行第一列

public static string Get_Row1_Col1_Value(string SQL, string ConnStr)

{

MySqlConnection Conn = Open_Conn(ConnStr);

string result;

MySqlDataReader Dr ;

try

{

Dr = Create_Cmd(SQL,Conn).ExecuteReader();

if (Dr.Read())

{

result = Dr[0].ToString();

Dr.Close();

}

else

{

result = "";

Dr.Close();

}

}

catch

{

throw new Exception(SQL);

}

Close_Conn(Conn);

return result;

}

///

// 存储过程 相关操作

///

// 生成一个存储过程使用的MySqlcommand.

// procName 存储过程名, prams 存储过程入参数组, 返回 MySqlCommand对象

public static MySqlCommand Proc_Create_Cmd(string procName, MySqlParameter[] prams, string ConnStr)

{

MySqlConnection Conn = Open_Conn(ConnStr);

MySqlCommand Cmd = new MySqlCommand(procName, Conn);

Cmd.CommandType = CommandType.StoredProcedure;

if (prams != null)

{

foreach (MySqlParameter parameter in prams)

{

if(parameter != null)

{

Cmd.Parameters.Add(parameter);

}

}

}

return Cmd;

}

// 生成一个存储过程使用的MySqlCommand.

// procName 存储过程名, prams 存储过程入参数组, 返回 MySqlCommand对象

private static MySqlCommand Proc_Create_Cmd(string procName, MySqlParameter[] prams, string ConnStr, MySqlDataReader Dr)

{

MySqlCommand Cmd = Proc_Create_Cmd(procName, prams, ConnStr);

if (prams != null)

{

foreach (MySqlParameter parameter in prams)

Cmd.Parameters.Add(parameter);

}

Cmd.Parameters.Add(

new MySqlParameter("ReturnValue", MySqlDbType.Int32, 4,

ParameterDirection.ReturnValue, false, 0, 0,

string.Empty, DataRowVersion.Default, null));

return Cmd;

}

// 运行存储过程,返回 MySqlDataReader对象

public static void Proc_Get_Reader(string procName, MySqlParameter[] prams, string ConnStr, MySqlDataReader Dr)

{

MySqlCommand Cmd = Proc_Create_Cmd(procName, prams, ConnStr, Dr);

Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

return;

}

// 运行存储过程,返回执行结果的第一行第一列

public static string Proc_Get_Value(string procName, MySqlParameter[] prams, string ConnStr)

{

MySqlDataReader Dr;

MySqlCommand Cmd = Proc_Create_Cmd(procName, prams, ConnStr);

Dr = Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);

if(Dr.Read())

{

return Dr.GetValue(0).ToString();

}

else

{

return "";

}

}

// 运行存储过程,返回 DataSet对象

public static DataSet Proc_Get_DataSet(string procName, MySqlParameter[] prams, string ConnStr, DataSet Ds)

{

MySqlCommand Cmd = Proc_Create_Cmd(procName, prams, ConnStr);

MySqlDataAdapter Da = new MySqlDataAdapter(Cmd);

try

{

Da.Fill(Ds);

}

catch(Exception Ex)

{

throw Ex;

}

return Ds;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/567002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue @click 多个事件_VUE学习记录3

v-on的基本使用​ 在前面的计数器案例中使用了v-on:click监听单击事件。这里在回顾一下&#xff1a;<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-w…

mysql的日志迁移到mango_mysql 向mongo迁移备忘

由于之前涉及mysql分表&#xff0c;把用户所关联的各种数据&#xff0c;我们暂设定为abcd,代表四种业务比如userid 为1 &#xff0c;可能属于 a1表&#xff0c;a2表&#xff0c;b3表&#xff0c;d4表。现在要统一改为mongo实现在user表中有一个abcd字段&#xff0c;类型是数组&…

cas登录成功后不跳转成功页面_SpringSecurity用户登录成功后页面跳转原理剖析

Spring Security 框架在用户成功登录后的处理逻辑&#xff0c;相对来说比较复杂&#xff0c;比较绕&#xff0c;下面我们就关键逻辑&#xff0c;进行相关分析。首先&#xff0c;框架默认的 AuthenticationSuccessHandler 为 SavedRequestAwareAuthenticationSuccessHandler。判…

python萤火虫算法_FA:萤火虫算法的测试及Python实现

一、Python中传递函数def Test(a,b):print(a,b)class TEST:def __init__(self, FitnessFunction):self.FitnessFunction FitnessFunctiondef initial(self):self.FitnessFunction(1,2)if __name__ __main__:fa TEST(Test)fa.initial()二、常用优化算法测试函数及实现这里学到…

android pdf阅读器开发_如何在 Windows 10 中将 Firefox 设置为默认 PDF 阅读器

PDF 作为办公一族中的必备文档&#xff0c;很多人都会编辑或者创建 PDF 文档&#xff0c;而在 Windows 系统中并没有默认的 PDF 阅读器。而在新版的 Microsoft Edge微软已在开始提供有真正的高级 PDF 控件&#xff0c;从而使用户可以正常使用文档而无需其他专用 PDF 阅读器应用…

shell脚本和python脚本和go脚本的区别_Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例-Go语言中文社区...

NodeJS 子进程提供了与系统交互的重要接口&#xff0c;其主要 API 有&#xff1a;1)标准输入、标准输出及标准错误输出的接口&#xff1b;child.stdin 获取标准输入child.stdout 获取标准输出child.stderr 获取标准错误输出2)获取子进程的PID&#xff1a;child.pid提供生成子进…

js文件中怎么使用thymeleaf标签_007、Spring Boot集成Thymeleaf模板引擎

1. Thymeleaf 介绍Thymeleaf 是适用于 Web 和独立环境的现代服务器端 Java 模板引擎。Thymeleaf 的主要目标是为您的开发工作流程带来优雅的自然模板 - 可以在浏览器中正确显示的HTML&#xff0c;也可以用作静态原型&#xff0c;从而在开发团队中实现更强大的协作。 以上翻译自…

python删除txt指定内容_正则表达式使用python从文件中过滤和删除特定的多行文本...

我正在编写一个python工具来处理一组文件.该工具将由其他用户而非我使用. 文件类似于以下格式&#xff1a; #Text which I want to keep intact #Lots of text #Lots and lots of text #Lots and lots and lots of other text #Then in-between the file I have text in this f…

java英语词汇_java常用的英语单词

java常用的英语单词神秘的jave应该记住的英语单词有哪些呢?单词这么多&#xff0c;小编表示也很困扰。不过小编还是为大家整理出来了一些jave常用的英语单词&#xff0c;减轻大家负担。public[pʌblik] 公共的,公用的static[sttik] 静的;静态的;静止的void&#xff1a;[vɔid]…

python语言中包含的标准数据类型_python标准数据类型(笔记一)

关于python&#xff0c;它是一种解释型&#xff0c;面对对象&#xff0c;带有动态语义的高级程序设计语言。 之前学习python的时候&#xff0c;简单的将python的基础内容过了一遍&#xff0c;然后在工作中需要用到什么就相应的去加深某一模块的需求以及应用&#xff0c;总觉得基…

java app接口安全认证_关于接口安全认证方式

一.AccessKey&SecretKey (开放平台)1、请求身份为开发者分配AccessKey(开发者标识&#xff0c;确保唯一)和SecretKey(用于接口加密&#xff0c;确保不易被穷举&#xff0c;生成算法不易被猜测)。2、防止篡改参数签名&#xff1a;(1)按照请求参数名的字母升序排列非空请求参…

python怎么输入一个数字并调用_python如何直接输入上一句话,如何快速打出上一句话...

如何快速打出上一句话 用搜狗或者QQ拼音打字法&#xff0c;里面有设置快捷键输入语就行了。 Python&#xff0c;怎么在输入非数字时&#xff0c;输出一句话 Python提供2113了两个内置函数从标准输入5261读入一行文本&#xff0c;默4102认的标准输入是键盘。如下&#xff1a;165…

python 打卡程序_如何用python实现腾讯文档自动打卡并定时执行

最近学了些Web&#xff0c;了解了一些selenum包内函数使用&#xff0c;就写了下自动健康打卡&#xff0c;并用windows任务计划程序定时执行&#xff0c;健康打卡这个针对特定网站&#xff0c;所以对于通用化使用倒没有太大用处&#xff0c;但关于腾讯文档如何填写&#xff0c;因…

mysql查询今天_昨天_7天_近30天_本月_上一月 数据_(转载)mysql查询今天、昨天、7天、近30天、本月、上一月数据...

查询今天select * from 表名 where to_days(时间字段名) to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) < 17天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) < date(时间字段名)近30天SELECT * FROM 表名 w…

python3实用编程技巧_6.python3实用编程技巧进阶(一)

1.1.如何在列表中根据条件筛选数据# 1.1.如何在列表中根据条件筛选数据 data [-1, 2, 3, -4, 5] #筛选出data列表中大于等于零的数据 #第一种方法&#xff0c;不推荐 res1 [] for x in data: if x > 0: res1.append(x) print(res1) #第二种用列表解析&#xff0c;推荐使用…

java中小数类型_java中小数属于什么类型的数据

展开全部小数属于浮点型(默认为double)。浮点型代表的是实数&#xff0c;其实就是包含小数的部分。也知道现实世界中是由32313133353236313431303231363533e59b9ee7ad9431333337396362很多复杂的数据的&#xff0c;所以需要这种表示实数的数据类型的支持。一、浮点型常量Java的…

springboot test_精益求精!Spring Boot 知识点全面回顾,带你重新细读源码!

作者&#xff1a;cyd_0619原文&#xff1a;https://blog.csdn.net/cyd_0619约定优于配置Build Anything with Spring Boot&#xff1a;Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running as …

事物日志恢复 mysql_浅谈SQL Server中的事务日志(五)----日志在高可用和灾难恢复中的作用...

本篇文章是系列文章中的第五篇&#xff0c;是对前一个日志系列的补充篇。如果您对日志的基本概念还没有一个比较系统的了解&#xff0c;可以参看本系列之前的文章&#xff1a; 浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 浅谈SQL Server中的事务日志(二)----…

select count(*) from返回的类型_数据分析面试题类型汇总

1 简单查询- 基本的查询语句&#xff1a;select <列名> from 表名 where 条件- where 后的条件需要标量&#xff0c;不可以使用集合&#xff0c;若与关联子查询连用可用&#xff1b;可使用逻辑运算符连接多个条件&#xff1a;between、and、or、in&#xff08;&#xff0…

configurationproperties_【Springboot】注解@ConfigurationProperties让配置整齐而简单

1 简介前面我们用一篇文章《【Spring】只想用一篇文章记录Value的使用&#xff0c;不想再找其它了(附思维导图)》详细讲解了在Spring中如何使用Value来实现我们对配置的需求&#xff0c;它功能强大、使用方便。但它也是有它的局限性的&#xff0c;比如对于邮件服务&#xff0c;…