自己封装的ASP.NET的MYSQL的数据库操作类
- /**
- * 作者:牛腩
- * 创建时间:2010年3月7日17时35分
- * 类说明:对MYSQL数据库的操作类
- */
- using System;
- using System.Data;
- using MySql.Data.MySqlClient;
- namespace Niunan.BYLW.Utility
- {
- /// <summary>对MYSQL数据库的操作类
- ///
- /// </summary>
- public class MYSQLHelper
- {
- private MySqlConnection conn = null;
- private MySqlCommand cmd = null;
- private MySqlDataReader sdr = null;
- public MYSQLHelper()
- {
- //string connStr = WebConfigurationManager.ConnectionStrings["connStr"].ToString();
- string connStr = "server=localhost;database=test;uid=root;pwd=123456;charset=utf8";
- conn = new MySqlConnection(connStr);
- }
- /// <summary>创建Command对象
- ///
- /// </summary>
- /// <param name="sql">SQL语句</param>
- public void CreateCommand(string sql)
- {
- conn.Open();
- cmd = new MySqlCommand(sql, conn);
- }
- /// <summary>添加参数
- ///
- /// </summary>
- /// <param name="paramName">参数名称</param>
- /// <param name="value">值</param>
- public void AddParameter(string paramName, object value)
- {
- cmd.Parameters.Add(new MySqlParameter(paramName, value));
- }
- /// <summary>执行不带参数的增删改SQL语句
- ///
- /// </summary>
- /// <param name="cmdText">增删改SQL语句</param>
- /// <param name="ct">命令类型</param>
- /// <returns></returns>
- public bool ExecuteNonQuery()
- {
- int res;
- try
- {
- res = cmd.ExecuteNonQuery();
- if (res > 0)
- {
- return true;
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (conn.State == ConnectionState.Open)
- {
- conn.Close();
- }
- }
- return false;
- }
- /// <summary>执行查询SQL语句
- ///
- /// </summary>
- /// <param name="cmdText">查询SQL语句</param>
- /// <returns></returns>
- public DataTable ExecuteQuery()
- {
- DataTable dt = new DataTable();
- using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
- {
- dt.Load(sdr);
- }
- return dt;
- }
- /// <summary>返回查询SQL语句查询出的结果的第一行第一列的值
- ///
- /// </summary>
- /// <returns></returns>
- public string ExecuteScalar()
- {
- string res = "";
- try
- {
- object obj = cmd.ExecuteScalar();
- if (obj != null)
- {
- res = obj.ToString();
- }
- }
- catch (Exception ex)
- {
- throw ex;
- }
- finally
- {
- if (conn.State == ConnectionState.Open)
- {
- conn.Close();
- }
- }
- return res;
- }
- }
- }
都是把那个SQLITEHelper的操作类搬过来的,改了MySqlConnection等变量名,对MYSQL来说经常会出现中文乱码,经实验,解决方法:
① 用PHPMYADMIN建立MYSQL数据库的时候记得选择UTF-8的编码
② 在上面的数据库操作类中的连接字符串中记得加上charset=utf8
这样用上面的操作类来插入中文就不会出现乱码了。
自己封装的ASP.NET的MYSQL的数据库操作类的更多相关文章
- php : mysql数据库操作类演示
设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...
- php MySQL数据库操作类源代码
php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...
- 设计模式 - 单例模式mysql数据库操作类
待续... index.php 调用方法: <?php header('Content-Type:text/html; charset=utf8'); require 'instance.php ...
- MySQL数据库操作类(PHP实现,支持连贯操作)
<?php /** * Author: suvan * CreateTime: 2018/2/27 * description: 数据库操作类(仅对接MySQL数据库,主要利用MySQLi函数) ...
- asp.net+mysq 数据库操作类
对数据库操作的使用方法: 1.引入命名空间 2.操作.三四行代码即可完成数据操作.类似于: using System; using System.Data; using System.Text; us ...
- asp.net数据库操作类(一)
Hi Boy, 我现在需要使用asp.net操作access数据库,你来做个.boy听后就开始百度了,最后找到了一个比较好的方法.如下: C# Code 1234567 <appSett ...
- php pdo mysql数据库操作类
<?php namespace iphp\core; use iphp\App; /** * 数据库操作基类 基于pdo * @author xuen * 支持链式操作,支持参数绑定 * 说明1 ...
- Mysql之数据库操作
数据库操作: 链接数据库: mysql -uroot -p masql -uroot -pmysql 退出数据库: exit/quit/ctrl + d sql语句最后需要分号结尾: 查看时间: ...
- C#---数据库访问通用类、Access数据库操作类、mysql类 .[转]
原文链接 //C# 数据库访问通用类 (ADO.NET)using System;using System.Collections.Generic;using System.Text;using Sy ...
随机推荐
- <<世界是数字的>>读书笔记
<世界是数字的>这本书是大学职业规划老师介绍个我读的,从着本中我学到了很多. 第一章,计算机里有什么.这个问题可以从两方面来看:逻辑上或者说功能上的组成,即每一部分是什么.做什么.怎样做. ...
- Robot 模拟操作键盘 实现复制粘贴功能;
1.代码逻辑 : a.封装一个粘贴的方法体:setAndctrlVClipboardData(String string);参数string是需要粘贴的内容 : b.声明一个StringSelecti ...
- 【转】Apache httpd.conf配置解释
转自:http://jafy00.blog.51cto.com/2594646/501373 常用配置指令说明 1. ServerRoot:服务器的基础目录,一般来说它将包含conf/和logs/子目 ...
- elasticsearch6 学习之批量操作
环境:elasticsearch6.1.2 kibana6.1.2 一.mget批量查询 mget可以将多个请求才能获的数据,合并到一个请求中以节省网络开销. 1.查询同一个索引下,通 ...
- 循环 与 next()
- HDU2460-Network
题目 给一个\(n\)个点\(m\)条边的无向连通图,\(Q\)次往图中加边,每次加边后问图中的桥有多少个.(加边后边留着). \(n\le 10^5,m\le 2\times 10^5,Q\le 1 ...
- Java虚拟机内存模型和volatile型变量
Java虚拟机内存模型 了解Java虚拟机的内存模型,有助于我们明白为什么会发生线程安全问题. 上面这幅图是<深入理解Java虚拟机-JVM高级特性与最佳实践>的书中截图. 线程共享的变量 ...
- appium手机操作
1.按键操作 pressKeyCode(key, metastate) key为按键事件,metastate为辅助功能键 举例: pressKeyCode(AndroidKeyCode.HOME) ...
- Argus UVALive - 3135(优先队列 水题一道)
有一系列的事件,它每Period秒钟就会产生编号为qNum的事件,你的任务是模拟出前k个事件,如果多个事件同时发生,先处理qNum小的事件 今天再看看数据结构.. #include <iostr ...
- 【BZOJ5415】【NOI2018】归程(克鲁斯卡尔重构树)
[NOI2018]归程(克鲁斯卡尔重构树) 题面 洛谷 题解 我在现场竟然没有把这道傻逼题给切掉,身败名裂. 因为这题就是克鲁斯卡尔重构树的模板题啊 我就直接简单的说一下把 首先发现答案就是在只经过海 ...