asp.net使用mysql数据库
2016-07-16 10:36
477 查看
Asp.net连接mysql 不推荐使用ODBC,推荐是用mysql官网提供的组件MySQL.Data.Dll,放在bin下面,添加引用即可
下面是封装的几个常用操作
下面是封装的几个常用操作
using System; using System.Collections.Generic; using System.Linq; using System.Web; using MySql.Data.MySqlClient; using System.Data; using System.Text; namespace WebApplication2 { public class DBHelper { public static string connectionString = "Host=127.0.0.1;UserName=root;Password=root;" +"Database=mmloo;Port=3306;CharSet=utf8;Allow Zero Datetime=true"; public DBHelper(){} public static string DataTableToJson(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.Append("{\""); jsonBuilder.Append(dt.TableName); jsonBuilder.Append("\":["); jsonBuilder.Append("["); for (int i = 0; i < dt.Rows.Count; i++) { jsonBuilder.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { jsonBuilder.Append("\""); jsonBuilder.Append(dt.Columns[j].ColumnName); jsonBuilder.Append("\":\""); jsonBuilder.Append(dt.Rows[i][j].ToString()); jsonBuilder.Append("\","); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("},"); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("]"); jsonBuilder.Append("}"); return jsonBuilder.ToString(); } /// <summary> /// 执行sql语句,返回影响的记录数 /// </summary> /// <param name="SQLString"></param> /// <returns></returns> public static int ExecuteNonQuery(string SQLString) { using (MySqlConnection connection = new MySqlConnection(connectionString)) { using (MySqlCommand cmd = new MySqlCommand(SQLString, connection)) { try { connection.Open(); int rows = cmd.ExecuteNonQuery(); return rows; } catch (MySql.Data.MySqlClient.MySqlException e) { connection.Close(); throw e; } } } } /// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name="SQLString">SQL语句</param> /// <returns>影响的记录数</returns> public static int ExecuteNonQuery(string SQLString, params MySqlParameter[] cmdParms) { using (MySqlConnection connection = new MySqlConnection(connectionString)) { using (MySqlCommand cmd = new MySqlCommand()) { try { PrepareCommand(cmd, connection, null, SQLString, cmdParms); int rows = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return rows; } catch (MySql.Data.MySqlClient.MySqlException e) { throw e; } } } } /// <summary> /// 执行查询语句,返回DataTable /// </summary> /// <param name="SQLString">查询语句</param> /// <returns>DataTable</returns> public static DataTable ExecuteDataTable(string SQLString) { using (MySqlConnection connection = new MySqlConnection(connectionString)) { DataSet ds = new DataSet(); try { connection.Open(); MySqlDataAdapter command = new MySqlDataAdapter(SQLString, connection); command.Fill(ds, "ds"); } catch (MySql.Data.MySqlClient.MySqlException ex) { throw new Exception(ex.Message); } return ds.Tables[0]; } } /// <summary> /// 执行查询语句,返回DataSet /// </summary> /// <param name="SQLString">查询语句</param> /// <returns>DataTable</returns> public static DataTable ExecuteDataTable(string SQLString, params MySqlParameter[] cmdParms) { using (MySqlConnection connection = new MySqlConnection(connectionString)) { MySqlCommand cmd = new MySqlCommand(); PrepareCommand(cmd, connection, null, SQLString, cmdParms); using (MySqlDataAdapter da = new MySqlDataAdapter(cmd)) { DataSet ds = new DataSet(); try { da.Fill(ds, "ds"); cmd.Parameters.Clear(); } catch (MySql.Data.MySqlClient.MySqlException ex) { throw new Exception(ex.Message); } return ds.Tables[0]; } } } /// <summary> /// 创建cmd /// </summary> /// <param name="cmd"></param> /// <param name="conn"></param> /// <param name="trans"></param> /// <param name="cmdText"></param> /// <param name="cmdParms"></param> private static void PrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans, string cmdText, MySqlParameter[] cmdParms) { if (conn.State != ConnectionState.Open) conn.Open(); cmd.Connection = conn; cmd.CommandText = cmdText; if (trans != null) cmd.Transaction = trans; cmd.CommandType = CommandType.Text;//cmdType; if (cmdParms != null) { foreach (MySqlParameter parameter in cmdParms) { if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && (parameter.Value == null)) { parameter.Value = DBNull.Value; } cmd.Parameters.Add(parameter); } } } } }
相关文章推荐
- 菜鸟级三层框架(EF+MVC)项目实战之 系列四 UI层ASP.NET MVC实现CRUD
- .aspx文件和.aspx.cs文件的区别与联系
- .aspx文件和.aspx.cs文件的区别与联系
- ASP.NET MVC进阶之路:深入理解依赖注入(DI)和控制反转(IOC)
- 【Dongle】【牛腩新闻发布系统】ASP无法识别
- ASP汉字转拼音函数的方法
- ASP.NET MVC4 导出Excel问题
- 使用jaspersoft创建jasper模板的经验总结
- ASP.NET MVC路由系统的核心对象介绍
- ASP.Net Core-依赖注入IoC
- asp.net获取文件夹下的所有文件
- ExtJS 6 Grid使用示例(ASP.NET MVC4 项目)
- ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0
- 如何破解aspose.words
- 七天学会ASP.NET MVC(七)——创建单页应用
- ASP.NET Core开发-使用Nancy框架
- 有哪些对树莓派 (Raspberry Pi) 的有趣改造、扩展应用?
- 解决asp.net FileUpload控件无法获取完整路径的问题 - 无序修改浏览器参数
- Metasploit详解 详细图文教程
- Asp.Net Core WebApi学习笔记(四)-- Middleware