.NET实现MySQL访问接口
来源:互联网 发布:淘宝睡衣常用模特 编辑:程序博客网 时间:2024/04/30 02:18
最近在项目过程中,需要用到MySQL数据库,下面就将自己的一些使用心得分享一下。
安装MySQL数据库的.NET组件
1、可以到http://dev.mysql.com/downloads去下载最新的组件版本;
2、安装完毕后,在自己的项目中添加对应版本的MySql,Data.dll。
经过上面两个步骤,我们就可以进行MySQL访问通用类的编写了。
MySQL数据库访问通用类
/* 名称:MySQL数据库操作类
* 内容:MySQL数据库操作类 * 作者:kikaylee * 时间:2014.1.7 */using System;using System.Data;using System.Diagnostics;using System.Collections.Generic;using MySql.Data.MySqlClient;namespace DAL{ /// <summary> /// MySQL数据库操作类 /// </summary> public class MySQLHelper { /// <summary> /// 数据库连接字符串 /// </summary> private static String connectionString = GetDbConnectionString.GetConStr(); private MySQLHelper() { } /// <summary> /// 执行单条插入语句,并返回id,不需要返回id的用ExceuteNonQuery执行 /// </summary> /// <param name="sql">SQL语句</param> /// <param name="parameters">参数集合</param> /// <returns>返回插入数据的id</returns> public static int ExecuteInsert(string sql, MySqlParameter[] parameters) { using (MySqlConnection connection = new MySqlConnection(connectionString)) { MySqlCommand cmd = new MySqlCommand(sql, connection); try { connection.Open(); if (parameters != null) cmd.Parameters.AddRange(parameters); cmd.ExecuteNonQuery(); cmd.CommandText = @"select LAST_INSERT_ID()"; int value = Int32.Parse(cmd.ExecuteScalar().ToString()); return value; } catch (Exception e) { throw e; } } } public static int ExecuteInsert(string sql) { return ExecuteInsert(sql, null); } /// <summary> /// 执行带参数的sql语句,返回影响的记录数(insert,update,delete) /// </summary> /// <param name="sql">SQL语句</param> /// <param name="parameters">参数</param> /// <returns>返回影响的记录数</returns> public static int ExecuteNonQuery(string sql, MySqlParameter[] parameters) { //Debug.WriteLine(sql); using (MySqlConnection connection = new MySqlConnection(connectionString)) { MySqlCommand cmd = new MySqlCommand(sql, connection); try { connection.Open(); if (parameters != null) cmd.Parameters.AddRange(parameters); int rows = cmd.ExecuteNonQuery(); return rows; } catch (Exception e) { throw e; } } } /// <summary> /// 执行不带参数的sql语句,返回影响的记录数 /// </summary> /// <param name="sql">SQL语句</param> /// <returns>返回影响的记录数</returns> public static int ExecuteNonQuery(string sql) { return ExecuteNonQuery(sql, null); } /// <summary> /// 执行单条语句返回第一行第一列,可以用来返回count(*) /// </summary> /// <param name="sql">SQL语句</param> /// <param name="parameters">参数</param> /// <returns>返回总数</returns> public static int ExecuteScalar(string sql, MySqlParameter[] parameters) { //Debug.WriteLine(sql); using (MySqlConnection connection = new MySqlConnection(connectionString)) { MySqlCommand cmd = new MySqlCommand(sql, connection); try { connection.Open(); if (parameters != null) cmd.Parameters.AddRange(parameters); int value = Int32.Parse(cmd.ExecuteScalar().ToString()); return value; } catch (Exception e) { throw e; } } } /// <summary> /// 执行单条语句返回第一行第一列,可以用来返回count(*) /// </summary> /// <param name="sql">SQL语句</param> /// <returns> 返回总数</returns> public static int ExecuteScalar(string sql) { return ExecuteScalar(sql, null); } /// <summary> /// 执行事务 /// </summary> /// <param name="sqlList"></param> /// <param name="paraList"></param> public static void ExecuteTrans(List<string> sqlList, List<MySqlParameter[]> paraList) { //Debug.WriteLine(sql); using (MySqlConnection connection = new MySqlConnection(connectionString)) { MySqlCommand cmd = new MySqlCommand(); MySqlTransaction transaction = null; cmd.Connection = connection; try { connection.Open(); transaction = connection.BeginTransaction(); cmd.Transaction = transaction; for (int i = 0; i < sqlList.Count; i++) { cmd.CommandText = sqlList[i]; if (paraList != null && paraList[i] != null) { cmd.Parameters.Clear(); cmd.Parameters.AddRange(paraList[i]); } cmd.ExecuteNonQuery(); } transaction.Commit(); } catch (Exception e) { try { transaction.Rollback(); } catch { } throw e; } } } /// <summary> /// 执行事务 /// </summary> /// <param name="sqlList"></param> public static void ExecuteTrans(List<string> sqlList) { ExecuteTrans(sqlList, null); } /// <summary> /// 执行查询语句,返回dataset /// </summary> /// <param name="sql"></param> /// <param name="parameters"></param> /// <returns></returns> public static DataSet ExecuteQuery(string sql, MySqlParameter[] parameters) { //Debug.WriteLine(sql); using (MySqlConnection connection = new MySqlConnection(connectionString)) { DataSet ds = new DataSet(); try { connection.Open(); MySqlDataAdapter da = new MySqlDataAdapter(sql, connection); if (parameters != null) da.SelectCommand.Parameters.AddRange(parameters); da.Fill(ds, "ds"); } catch (Exception ex) { throw ex; } return ds; } } /// <summary> /// 执行查询语句,返回dataset /// </summary> /// <param name="sql"></param> /// <returns></returns> public static DataSet ExecuteQuery(string sql) { return ExecuteQuery(sql, null); } }}当然了,也可以利用服务器管理器,字节进行强类型的数据连接,详情可以查看我以前转载的一片博客:http://blog.csdn.net/kikaylee/article/details/17991063。
1 0
- .NET实现MySQL访问接口
- .net 通过Url访问接口
- 利用MySQLDriverCS实现在.NET环境下访问MySQL数据库
- .net附件接口实现
- C#接口实现 - 第四节、访问接口
- 数据访问接口的实现
- Java访问https接口实现
- Java访问https接口实现
- Java访问https接口实现
- Java访问https接口实现
- .net企业级架构实战之5——基于接口的访问层实现
- mysql数据库连接接口实现
- Mysql实现远程访问
- 远程访问MySQL实现
- 实现mysql远程访问
- .NET如何访问MySQL数据库
- .NET如何访问MySQL数据库
- asp.net访问MySQL数据库
- 【ajax跨域攻击实例】腾讯微博跨域漏洞--by wqisen
- 开发工具
- [应用模板]HTML5+Phonegap通讯录
- 程序员相亲
- 不会NDK写不出好的Android App
- .NET实现MySQL访问接口
- Framebuffer 机制
- 报错:Undefined symbols for architecture i386 "_deflate"
- ****GitHub上最火的40个Android开源项目
- Cstring与其它类型互转
- 年终工作总结:给新手程序员的几个建议
- vs2010插件之VisualSVN
- C# List<T>泛型的排序和删除
- android开源项目[tool篇]