MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)
MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下:
using MySql.Data.MySqlClient; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Text; public class MySqlDbHelper { #region 私有变量 private const string defaultConfigKeyName = "MySqlConnection";//连接字符串 Database='数据库';Data Source='IP地址';User Id='sa';Password='sa';pooling=true private string connectionString; private string providerName; #endregion #region 构造函数 /// <summary> /// 默认构造函数(DbHelper) /// </summary> public MySqlDbHelper() { this.connectionString = ConfigurationManager.ConnectionStrings[defaultConfigKeyName].ConnectionString; this.providerName = ConfigurationManager.ConnectionStrings[defaultConfigKeyName].ProviderName; } /// <summary> /// DbHelper构造函数 /// </summary> /// <param name="keyName">连接字符串名</param> public MySqlDbHelper(string keyName) { this.connectionString = ConfigurationManager.ConnectionStrings[keyName].ConnectionString; this.providerName = ConfigurationManager.ConnectionStrings[keyName].ProviderName; } #endregion public int ExecuteNonQuery(string sql, params MySqlParameter[] parameters) { int res = 0; using (MySqlConnection con = new MySqlConnection(connectionString)) { con.Open(); using (MySqlCommand cmd = new MySqlCommand(sql, con)) { foreach (MySqlParameter parameter in parameters) { cmd.Parameters.Add(parameter); } try { res = cmd.ExecuteNonQuery(); } catch { res = -1; } } } return res; } public object GetExeScalar(string sql, params MySqlParameter[] parameters) { object res = null; using (MySqlConnection con = new MySqlConnection(connectionString)) { con.Open(); using (MySqlCommand cmd = new MySqlCommand(sql, con)) { foreach (MySqlParameter parameter in parameters) { cmd.Parameters.Add(parameter); } res = cmd.ExecuteScalar(); } } return res; } public DataTable GetDataTable(string sql, params MySqlParameter[] parameters) { DataSet dataset = new DataSet(); using (MySqlConnection con = new MySqlConnection(connectionString)) { con.Open(); using (MySqlCommand cmd = new MySqlCommand(sql, con)) { foreach (MySqlParameter parameter in parameters) { cmd.Parameters.Add(parameter); } MySqlDataAdapter adapter = new MySqlDataAdapter(cmd); adapter.Fill(dataset); } } return dataset.Tables[0]; } /// <summary> /// DataTable批量加入MYSQL数据库 /// </summary> /// <param name="dataTable"></param> /// <returns></returns> public string InsertByDataTable(DataTable dataTable) { string result = string.Empty; if (null == dataTable || dataTable.Rows.Count <= 0) { return "添加失败!DataTable暂无数据!"; } if (string.IsNullOrEmpty(dataTable.TableName)) { return "添加失败!请先设置DataTable的名称!"; } // 构建INSERT语句 StringBuilder sb = new StringBuilder(); sb.Append("INSERT INTO " + dataTable.TableName + "("); for (int i = 0; i < dataTable.Columns.Count; i++) { sb.Append(dataTable.Columns[i].ColumnName + ","); } sb.Remove(sb.ToString().LastIndexOf(','), 1); sb.Append(") VALUES "); for (int i = 0; i < dataTable.Rows.Count; i++) { sb.Append("("); for (int j = 0; j < dataTable.Columns.Count; j++) { sb.Append("'" + dataTable.Rows[i][j] + "',"); } sb.Remove(sb.ToString().LastIndexOf(','), 1); sb.Append("),"); } sb.Remove(sb.ToString().LastIndexOf(','), 1); sb.Append(";"); int res = -1; using (MySqlConnection con = new MySqlConnection(connectionString)) { con.Open(); using (MySqlCommand cmd = new MySqlCommand(sb.ToString(), con)) { try { res = cmd.ExecuteNonQuery(); } catch (Exception ex) { res = -1; // Unknown column 'names' in 'field list' result = "操作失败!" + ex.Message.Replace("Unknown column", "未知列").Replace("in 'field list'","存在字段集合中!"); } } } if (res > 0) { result = "恭喜添加成功!"; } return result; } }
MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)相关推荐
- 编写mysql的工具_自己编写的数据库工具类
/** * 数据库工具类 * 1.连接数据库 * 2.执行增删改查功能功能并报错 * 3.没有参数传递是则使用默认信息连接 */ class mysql { private $link = null; ...
- .net使用SqlBulkCopy类操作DataTable批量插入数据库数据,然后分页查询坑
在使用SqlBulkCopy类操作DataTable批量插入数据,这种操作插入数据的效率很高,就会导致每一条数据在保存的时间基本一样,在我们分页查询添加的数据是,使用数据的添加时间来排序就会出现每页的 ...
- 开发自己的框架——(二)数据库工具类的封装
为了让框架的内容与数据分离,我们把常用的类封装到一个工具类中,当用到这些方法时,就调用这个封装好的类,能够使代码的复用性得到很大的提高. 首先,封装数据库相关操作,为了使封装规范化,我们创建一个接口让 ...
- SqlHelper操纵数据库工具类
SqlHelper操纵数据库工具类 该工具类是SqlHelper的基础版本,将整个类做成静态类,这样可能很难应付高并发的数据库操作,不过这个问题是能够解决的,通过创建SqlHelper对象,将成员变量 ...
- oracle数据库中is的使用说明,分享数据库工具类DatabaseUtils实现数据库登录验证isUrlValid、数据类型判断isOracle及连接关闭closeDbObject等常见操作...
一.前言 基于dbcon-5.0.1.jar.zip开源包的数据库工具类uk.ac.sanger.cgp.dbcon.util.DatabaseUtils对数据连接有效关闭closeDbObject. ...
- python mysql工具类_Python工具类(一)—— 操作Mysql数据库
如何调用直接看__main__函数里如何调用此工具类就阔以啦! # encoding=utf-8 import pymysql # 导入所有Mysql配置常量,请自行指定文件 from conf.se ...
- JDBC实现用于操作数据库Mysql的工具类JDBCTools
下面用一个统一的工具类封装一套用于数据库的JDBC操作:包括 1)获取数据库链接资源 2)释放数据库链接资源,包括Connection,Statement,PreparedStatement,Res ...
- python调用mysql数据库工具类
工具类 import MySQLdb import json import datetimeclass CJsonEncoder(json.JSONEncoder):def default(self, ...
- java数据库设计工具_Java课程设计---创建数据库工具类
1.传统的数据库操作 package com.java.mysql; import java.sql.Connection; import java.sql.DriverManager; import ...
最新文章
- java设计模式---备忘录模式
- Maven安装和配置环境变量
- 在Navicat中直接向表里添加数据
- 【渝粤教育】电大中专职业健康与安全_1作业 题库
- HIVE-分桶表的详解和创建实例
- win10下装win7双系统_分享电脑安装win7win10双系统教程
- php文章远程图片,php实现异步将远程链接上内容(图片或内容)写到本地的方法
- Tun/Tap接口教材-[翻译:Tun/Tap interface tutorial]
- Vue基本操作及运行截图总结
- win10虚拟服务器安装xp,win10安装xp虚拟机安装教程_win10安装xp虚拟机详细步骤
- 什么是URL?URL是什么意思?
- Android利用jsoup爬虫爬网页数据(一)
- int类型和Integer类型数据的比较
- 《Excel数据可视化:一样的数据不一样的图表》——导读
- (下)开发一款微信小程序的个性简历,能打开大厂之门并获得门票?(附源码)
- 前端websocket和后端传输数据
- scratch编程神笔马良
- 方向余弦矩阵DCM刚体的矢量—矩阵描述
- 制作网站价格是多少呢?制作网站要花多少钱?
- 黑马旅游网学习笔记之分页展示(六)