c#Form 安全连接mysql数据库类库 -> 传参直接获取mysql结果
下载地址 - 公共类库,中间包含全部代码(DocTools)
https://download.csdn.net/download/yqrycz8ye/10763905
自己的使用经验–>保存
调用方法
String Q0r = DocTools.Decode_.JieMiRSADecrypt(DocTools.Web_.WebYuanMa_Utf8("网页源码-->存放ip地址"));
String phM = DocTools.Decode_.JieMiRSADecrypt(DocTools.Web_.WebYuanMa_Utf8("网页源码-->存放sql帐户地址"));
String J7n = DocTools.Decode_.JieMiRSADecrypt(DocTools.Web_.WebYuanMa_Utf8("网页源码-->存放sql密码地址"));
String Rb8 = DocTools.Decode_.JieMiRSADecrypt(DocTools.Web_.WebYuanMa_Utf8("网页源码-->存放库名地址"));
//赋值后,就可以直接使用sql语句了
DocTools.MySql_.Ins.MySql_Ljq = "server=" + Q0r + "; user id=" + phM + "; password=" + J7n + "; database=" + Rb8 + "; SslMode = none";
//输出看看对不对
Console.WriteLine(DocTools.MySql_.Ins.MySql_Ljq);
类库
/* MySql_.Ins.MySql_Ljq */
#region 单例模式 - 赋值连接MySql方式
/*** --- MySql_.Ins.MySql_Ljq = "server=" + sqlip + "; user id=" + sqlid + "; password=" + sqlmm + "; database=" + sqlkm; ---***/
/// <summary>
/// 定义一个静态变量来保存类的实例
/// </summary>
private string MySql_ljq;
/// <summary>
/// 赋值方式
/// </summary>
public String MySql_Ljq
{
get { return this.MySql_ljq; }
set { this.MySql_ljq = value; }
}
/// <summary>
/// 定义私有构造函数,使外界不能创建该类实例
/// </summary>
private MySql_() { }
/// <summary>
/// 定义一个静态变量来保存类的实例
/// </summary>
private static MySql_ _instance = null;
/// <summary>
/// 定义公有方法提供一个全局访问点,同时你也可以定义公有属性来提供全局访问点
/// </summary>
public static MySql_ Ins
{
get { if (_instance == null) { _instance = new MySql_(); } return _instance; }
}
#endregion
#region 常用MySQL操作类库 - (全部测试可用)
#region 查询语句 - ExecuteDataSet(返回DataSet对象) 推荐使用->相当于数据库
/*1.创建-->List<MySqlParameter> Paramter = new List<MySqlParameter>(); 2.传递参数Paramter.ToArray()*/
/// <summary>
/// 获得多个结果集,返回DataSet对象。List《MySqlParameter》 Paramter = new List《MySqlParameter》();
/// </summary>
/// <param name="SQLString">传递参数 --》 sql语句</param>
/// <param name="paras">传递参数 --》 Paramter.ToArray()</param>
/// <returns>查到数据就返回 DataSet结果集</returns>
public DataSet ExecuteDataSet(string SQLString, params MySqlParameter[] paras)
{
//先判断传递的sql语句是否为空.,如果为空,直接返回. 避免执行异常
if (DocTools.Verify_.IsNull(SQLString) == false)
{
// 创建MySqlConnection对象,用于连接数据库..--> 传递参数 连接信息
using (MySqlConnection con = new MySqlConnection(MySql_.Ins.MySql_Ljq))
{
try
{
//数据适配器
MySqlDataAdapter sqlda = new MySqlDataAdapter(SQLString, con);
sqlda.SelectCommand.Parameters.AddRange(paras);
DataSet ds = new DataSet();
int s = sqlda.Fill(ds);
if (s > 0)
{
return ds; //查到数据就返回 DataSet结果集
}
else
{
return null; //没有查到数据,返回null 。 调用时先判断结果是否为空, 防止报错
}
//不需要打开和关闭链接.
}
catch (MySql.Data.MySqlClient.MySqlException e)
{
con.Close();
throw e;
}
finally
{
//判断MySQL是否关闭,如果未关闭,进行关闭
if (con != null)
{
con.Close();
Console.WriteLine("结果集已返回-->关闭连接:ExecuteDataSet");
}
else Console.WriteLine("已关闭:ExecuteDataSet");
}
}
}
//传递的sql语句是中,所以直接返回null
else return null;
}
#region 多名
/*1.创建-->List<MySqlParameter> Paramter = new List<MySqlParameter>(); 2.传递参数Paramter.ToArray()*/
/// <summary>
/// 获得多个结果集,返回DataSet对象。List《MySqlParameter》 Paramter = new List《MySqlParameter》();
/// </summary>
/// <param name="sql">传递参数 --》 sql语句</param>
/// <param name="paras">传递参数 --》 Paramter.ToArray()</param>
/// <returns>查到数据就返回 DataSet结果集</returns>
public DataSet ChaXunDataSet(string sql, params MySqlParameter[] paras)
{
return ExecuteDataSet(sql, paras);
}
#endregion
#endregion
#region 查询语句 - ExecuteDataTable(返回DataTable对象) 推荐使用->相当于数据表
/*1.创建-->List<MySqlParameter> Paramter = new List<MySqlParameter>(); 2.传递参数Paramter.ToArray()*/
/// <summary>
/// 获得单个结果集,返回DataTable对象。List《MySqlParameter》 Paramter = new List《MySqlParameter》();
/// </summary>
/// <param name="SQLString">传递参数 --> sql语句</param>
/// <param name="paras">传递参数 --> Paramter.ToArray()</param>
/// <returns>查到数据就返回 DataTable结果集</returns>
public DataTable ExecuteDataTable(string SQLString, params MySqlParameter[] paras)
{
//先判断传递的sql语句是否为空.,如果为空,直接返回. 避免执行异常
if (DocTools.Verify_.IsNull(SQLString) == false)
{
// 创建MySqlConnection对象,用于连接数据库..--> 传递参数 连接信息
using (MySqlConnection con = new MySqlConnection(MySql_.Ins.MySql_Ljq))
{
try
{
//数据适配器
MySqlDataAdapter sqlda = new MySqlDataAdapter(SQLString, con);
sqlda.SelectCommand.Parameters.AddRange(paras);
DataTable dt = new DataTable();
int s = sqlda.Fill(dt);
if (s > 0)
{
return dt; //查到数据就返回 Table结果集
}
else
{
return null; //没有查到数据,返回null 。 调用时先判断结果是否为空, 防止报错
}
//不需要打开和关闭链接.
}
catch (MySql.Data.MySqlClient.MySqlException e)
{
con.Close();
throw e;
}
finally
{
//判断MySQL是否关闭,如果未关闭,进行关闭
if (con != null)
{
con.Close();
Console.WriteLine("结果集已返回-->关闭连接:ExecuteDataTable");
}
else Console.WriteLine("已关闭:ExecuteDataTable");
}
}
}
//传递的sql语句是空,所以直接返回null
else return null;
}
#region 多名
/*1.创建-->List<MySqlParameter> Paramter = new List<MySqlParameter>(); 2.传递参数Paramter.ToArray()*/
/// <summary>
/// 获得单个结果集,返回DataTable对象。List《MySqlParameter》 Paramter = new List《MySqlParameter》();
/// </summary>
/// <param name="sql">传递参数 --> sql语句</param>
/// <param name="paras">传递参数 --> Paramter.ToArray()</param>
/// <returns>查到数据就返回 DataTable结果集</returns>
public DataTable ChaXunDataTable(string sql, params MySqlParameter[] paras)
{
return ExecuteDataTable(sql, paras);
}
#endregion
#endregion
#region 查询语句 - ExecuteScalar(返回object一条数据) 一般用于查询数据数量
/*
* 调用案例:String insert1 = @"SELECT qq FROM `B_fuzhu_id` where qq is not null"; --》 qq字段不是null的输出一条 -->null是值
* 调用案例:String insert2 = @"SELECT qq FROM `B_fuzhu_id` where qq!=''"; --》 qq字段不是''的输出一条 --> ''是字符串空
* 调用案例:String insert3 = @"select account,phone from `B_fuzhu_id` where xh>6"; --》 序号大于+的 帐户输出一条
* 调用案例:String insert4 = @"SELECT COUNT(xh) FROM `B_fuzhu_id`"; --》 xh一共有多少条数据
* 会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内。
* 调用案例:String insert5 = @"SELECT COUNT(*) FROM `B_fuzhu_id` where qq=''"; 统计qq是空的有多少条数据
*/
/// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object) --->只有一条结果. 一般用于查询数量
/// </summary>
/// <param name="SQLString">传递参数 --》 sql语句</param>
/// <param name="paras">传递参数 --》 Paramter.ToArray()</param>
/// <returns>返回 object结果 -- 只有一条结果 可以转String</returns>
public object ExecuteScalar(string SQLString, params MySqlParameter[] paras)
{
if (DocTools.Verify_.IsNull(SQLString) == false)
{
using (MySqlConnection connection = new MySqlConnection(MySql_.Ins.MySql_Ljq))
{
using (MySqlCommand cmd = new MySqlCommand(SQLString, connection))
{
try
{
connection.Open();
cmd.Parameters.AddRange(paras);
object obj = cmd.ExecuteScalar();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (MySql.Data.MySqlClient.MySqlException e)
{
connection.Close();
throw e;
}
finally
{
if (connection != null)
{
connection.Close();
Console.WriteLine("结果已返回-->关闭连接:ExecuteScalar");
}
else Console.WriteLine("已关闭:ExecuteScalar");
}
}
}
}
else return null;
}
#region 多名
/// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object) --->只有一条结果. 一般用于查询数量
/// </summary>
/// <param name="SQLString">传递参数 --》 sql语句</param>
/// <param name="paras">传递参数 --》 Paramter.ToArray()</param>
/// <returns>返回 object结果 -- 只有一条结果 可以转String</returns>
public object ChaXun_ShuLiang(string SQLString, params MySqlParameter[] paras)
{
return ExecuteScalar(SQLString, paras);
}
#endregion
#endregion
#region 执行增删改操作(返回受影响的条数(int)类型)
/// <summary>
/// 执行Update(更新),Delete(删除),Insert(插入)操作 返回受影响的条数(int)类型
/// </summary>
/// <param name="SQLString">传递参数 --》 sql语句</param>
/// <param name="paras">传递参数 --》 Paramter.ToArray()</param>
/// <returns>返回受影响的条数(int)类型</returns>
public int ExecuteNonquery(string SQLString, params MySqlParameter[] paras)
{
if (DocTools.Verify_.IsNull(SQLString) == false)
{
using (MySqlConnection con = new MySqlConnection(MySql_.Ins.MySql_Ljq))
{
try
{
MySqlCommand cmd = new MySqlCommand(SQLString, con);
cmd.Parameters.AddRange(paras);
con.Open();
return cmd.ExecuteNonQuery();
}
catch (MySql.Data.MySqlClient.MySqlException e)
{
con.Close();
throw e;
}
finally
{
//判断MySQL是否关闭,如果未关闭,进行关闭
if (con != null)
{
con.Close();
Console.WriteLine("结果已返回-->关闭连接:ExecuteNonquery");
}
else Console.WriteLine("已关闭:ExecuteNonquery");
}
}
}
else return -1;
}
#region 多名
/// <summary>
/// 执行Update(更新),Delete(删除),Insert(插入)操作 返回受影响的条数(int)类型
/// </summary>
/// <param name="SQLString">传递参数 --》 sql语句</param>
/// <param name="paras">传递参数 --》 Paramter.ToArray()</param>
/// <returns>返回受影响的条数(int)类型</returns>
public int ZhiXing_Zen(string SQLString, params MySqlParameter[] paras)
{
return ExecuteNonquery(SQLString, paras);
}
/// <summary>
/// 执行Update(更新),Delete(删除),Insert(插入)操作 返回受影响的条数(int)类型
/// </summary>
/// <param name="SQLString">传递参数 --》 sql语句</param>
/// <param name="paras">传递参数 --》 Paramter.ToArray()</param>
/// <returns>返回受影响的条数(int)类型</returns>
public int ZhiXing_Shan(string SQLString, params MySqlParameter[] paras)
{
return ExecuteNonquery(SQLString, paras);
}
/// <summary>
/// 执行Update(更新),Delete(删除),Insert(插入)操作 返回受影响的条数(int)类型
/// </summary>
/// <param name="SQLString">传递参数 --》 sql语句</param>
/// <param name="paras">传递参数 --》 Paramter.ToArray()</param>
/// <returns>返回受影响的条数(int)类型</returns>
public int ZhiXing_Gai(string SQLString, params MySqlParameter[] paras)
{
return ExecuteNonquery(SQLString, paras);
}
#endregion
#endregion
#region 存储过程 - ExecuteProcNonQuery (无返回值)
/// <summary>
/// 调用存储过程 无返回值
/// </summary>
/// <param name="procname">存储过程名</param>
/// <param name="paras">sql语句中的参数数组</param>
/// <returns></returns>
public int ExecuteProcNonQuery(string procname, params MySqlParameter[] paras)
{
using (MySqlConnection con = new MySqlConnection(MySql_.Ins.MySql_Ljq))
{
try
{
MySqlCommand cmd = new MySqlCommand(procname, con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(paras);
con.Open();
return cmd.ExecuteNonQuery();
}
catch (MySql.Data.MySqlClient.MySqlException e)
{
con.Close();
throw e;
}
finally
{
//判断MySQL是否关闭,如果未关闭,进行关闭
if (con != null)
{
con.Close();
Console.WriteLine("结果已返回-->关闭连接:ExecuteProcQuery");
}
else Console.WriteLine("已关闭:ExecuteProcQuery");
}
}
}
#endregion
#region 存储过程 - ExecuteProcQuery (返回DataTable)
/// <summary>
/// 存储过程 返回Datatable
/// </summary>
/// <param name="procname">存储过程名</param>
/// <param name="paras">sql语句中的参数数组</param>
/// <returns>调用存储过程,返回返回Datatable</returns>
public DataTable ExecuteProcQuery(string procname, params MySqlParameter[] paras)
{
if (DocTools.Verify_.IsNull(procname) == false)
{
using (MySqlConnection con = new MySqlConnection(MySql_.Ins.MySql_Ljq))
{
try
{
MySqlCommand cmd = new MySqlCommand(procname, con);
cmd.CommandType = CommandType.StoredProcedure;
MySqlDataAdapter sqlda = new MySqlDataAdapter(procname, con);
sqlda.SelectCommand.Parameters.AddRange(paras);
DataTable dt = new DataTable();
sqlda.Fill(dt);
return dt;
}
catch (MySql.Data.MySqlClient.MySqlException e)
{
con.Close();
throw e;
}
finally
{
//判断MySQL是否关闭,如果未关闭,进行关闭
if (con != null)
{
con.Close();
Console.WriteLine("结果已返回-->关闭连接:ExecuteProcQuery");
}
else Console.WriteLine("已关闭:ExecuteProcQuery");
}
}
}
else
{
return null;
}
}
#region 多名
/// <summary>
/// 存储过程 返回Datatable
/// </summary>
/// <param name="procname">存储过程名</param>
/// <param name="paras">sql语句中的参数数组</param>
/// <returns>调用存储过程,返回返回Datatable</returns>
public DataTable CuCunGuoCheng(string procname, params MySqlParameter[] paras)
{
return ExecuteProcQuery(procname, paras);
}
#endregion
#endregion
#region 多语句的事物管理 - ExcuteCommandByTran (返回bool类型)
/// <summary>
/// 多语句的事物管理
/// </summary>
/// <param name="cmds">命令数组</param>
/// <returns></returns>
public bool ExcuteCommandByTran(params MySqlCommand[] cmds)
{
if (DocTools.Verify_.IsNull(cmds) == false)
{
using (MySqlConnection con = new MySqlConnection(MySql_.Ins.MySql_Ljq))
{
try
{
con.Open();
MySqlTransaction tran = con.BeginTransaction();
foreach (MySqlCommand cmd in cmds)
{
cmd.Connection = con;
cmd.Transaction = tran;
cmd.ExecuteNonQuery();
}
tran.Commit();
return true;
}
catch (MySql.Data.MySqlClient.MySqlException e)
{
con.Close();
throw e;
}
finally
{
//判断MySQL是否关闭,如果未关闭,进行关闭
if (con != null)
{
con.Close();
Console.WriteLine("结果已返回-->关闭连接:ExcuteCommandByTran");
}
else Console.WriteLine("已关闭:ExcuteCommandByTran");
}
}
}
else
{
return false;
}
}
#endregion
#region 分页 - ExcuteDataWithPage (返回DataTable)
/// <summary>
/// 分页 - ExcuteDataWithPage (返回DataTable)
/// </summary>
/// <param name="sql">传递参数 --> sql语句</param>
/// <param name="totalCount">传递参数 --> 分页</param>
/// <param name="paras">传递参数 --> Paramter.ToArray()</param>
/// <returns>返回DataTable</returns>
public DataTable ExcuteDataWithPage(string sql, ref int totalCount, params MySqlParameter[] paras)
{
using (MySqlConnection con = new MySqlConnection(MySql_.Ins.MySql_Ljq))
{
MySqlDataAdapter dap = new MySqlDataAdapter(sql, con);
DataTable dt = new DataTable();
dap.SelectCommand.Parameters.AddRange(paras);
dap.Fill(dt);
MySqlParameter ttc = dap.SelectCommand.Parameters["@totalCount"];
if (ttc != null)
{
totalCount = Convert.ToInt32(ttc.Value);
}
return dt;
}
}
#endregion
#endregion
以下是不需要自己写sql语句,直接传参数. 获取结果.
#region 传参直接获取结果 ---》 获取数据库ID的最大值 - GetMaxID(返回int,最大值)
/// <summary>
/// 获取指定字段名的最大值(字段名+表名)
/// </summary>
/// <param name="TableName">表名</param>
/// <param name="FieldName">字段名</param>
/// <returns>返回int</returns>
public int GetMaxID(string TableName, string FieldName)
{
string strsql = @"select max(" + FieldName + ") from " + TableName;
object obj = ChaXun_ShuLiang(strsql);
if (obj == null)
{
return -1;
}
else
{
return int.Parse(obj.ToString());
}
}
#region 多名(最大值)
/// <summary>
/// 获取指定字段名的最大值(字段名+表名)
/// </summary>
/// <param name="TableName">表名</param>
/// <param name="FieldName">字段名</param>
/// <returns>返回int</returns>
public int HuoQu_ZuiDaZhi(string TableName, string FieldName)
{
return GetMaxID(TableName, FieldName);
}
#endregion
#endregion
#region 传参直接获取结果 ---》 获取数据库ID的最小值 - GetMinID(返回int,最大值)
/// <summary>
/// 获取指定字段名的最小值(字段名+表名)
/// </summary>
/// <param name="TableName">表名</param>
/// <param name="FieldName">字段名</param>
/// <returns>返回int</returns>
public int GetMinID(string TableName, string FieldName)
{
string strsql = @"select min(" + FieldName + ") from " + TableName;
object obj = ChaXun_ShuLiang(strsql);
if (obj == null)
{
return -1;
}
else
{
return int.Parse(obj.ToString());
}
}
#region 多名(最小值)
/// <summary>
/// 获取指定字段名的最小值(字段名+表名)
/// </summary>
/// <param name="TableName">表名</param>
/// <param name="FieldName">字段名</param>
/// <returns>返回int</returns>
public int HuoQu_ZuiXiaoZhi(string TableName, string FieldName)
{
return GetMinID(TableName, FieldName);
}
#endregion
#endregion
#region 传参直接获取结果 ---》 条件查询 并 获取一个字段,返回String类型
/// <summary>
/// 传参直接获取结果 ---》 条件查询 并 获取一个字段,返回String类型
/// </summary>
/// <param name="TableName">表明</param>
/// <param name="ziduanName">字段名</param>
/// <param name="yaochaName">匹配字段</param>
/// <param name="pipeiName">匹配内容</param>
/// <returns>返回String</returns>
public String GetOneZiDuan_String(string TableName, string ziduanName, string yaochaName, string pipeiName)
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
//sql语句
String SqlString = @"select " + ziduanName + " from " + TableName + " where " + yaochaName + " = '" + pipeiName + "'";
//执行ExecuteScalar,返回结果
object data = DocTools.MySql_.Ins.ExecuteScalar(SqlString, Paramter.ToArray());
if (DocTools.Verify_.IsNull(data) == false)
{
return data.ToString();
}
else return "";
}
#endregion
#region 传参直接获取结果 ---》 条件查询 并 获取一个字段,返回int类型
/// <summary>
/// 传参直接获取结果 ---》 条件查询 并 获取一个字段,返回int类型
/// </summary>
/// <param name="TableName">表明</param>
/// <param name="ziduanName">字段名</param>
/// <param name="yaochaName">匹配字段</param>
/// <param name="pipeiName">匹配内容</param>
/// <returns>返回int</returns>
public int GetOneZiDuan_int(string TableName, string ziduanName, string yaochaName, string pipeiName)
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
//sql语句
String SqlString = @"select " + ziduanName + " from " + TableName + " where " + yaochaName + " = '" + pipeiName + "'";
//执行ExecuteScalar,返回结果
object data = DocTools.MySql_.Ins.ExecuteScalar(SqlString, Paramter.ToArray());
if (DocTools.Verify_.IsNull(data) == false)
{
return Convert.ToInt32(data);
}
else return -1;
}
#endregion
#region 传参直接获取结果 ---》 查询数据库中是否存在某一个字段 --> 参数(1.表名 2.字段名 3.匹配字段)
/// <summary>
/// 查询数据库中是否存在某一个字段 --> 参数(1.表名 2.字段名 3.匹配字段)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="PiPeiName">参数 ---> 匹配的名字 比如帐户</param>
/// <returns>返回false表示没找到,否则返回true已找到结果</returns>
public bool IsString_ZiDuan(string TableName, String ziName, String PiPeiName)
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
//sql语句
String SqlString = @"select " + ziName + " from " + TableName + " where " + ziName + " = '" + PiPeiName + "'";
//执行ExecuteScalar,返回结果
object data = DocTools.MySql_.Ins.ExecuteScalar(SqlString, Paramter.ToArray());
//判断结果是否为空,如果空,则返回false表示没找到,否则返回true已找到结果
if (DocTools.Verify_.IsNull(data) == false)
{
return true;
}
else return false;
}
#region 多名(IsString_ZiDuan)
/// <summary>
/// 查询数据库中是否存在某一个字段 --> 参数(1.表名 2.字段名 3.匹配字段)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="PiPeiName">参数 ---> 匹配的名字 比如帐户</param>
/// <returns>返回false表示没找到,否则返回true已找到结果</returns>
public bool ChaXun_ShiFouCunZai(string TableName, String ziName, String PiPeiName)
{
return IsString_ZiDuan(TableName, ziName, PiPeiName);
}
#endregion
#endregion
#region 传参直接获取结果 ---》 专用验证帐户密码,同时匹配帐户密码,返回true --> 参数(1.表名 2.段名1 3.字段2 4.匹配字段1 5.匹配字段2)
/// <summary>
/// 专用验证帐户密码,同时匹配帐户密码,返回true --> 参数(1.表名 2.段名1 3.字段2 4.匹配字段1 5.匹配字段2)
/// </summary>
/// <param name="TableName">表明</param>
/// <param name="ZHziduan">字段1</param>
/// <param name="MMziduan">字段2</param>
/// <param name="ZH">匹配字段1</param>
/// <param name="MM">匹配字段2</param>
/// <returns>返回true表示, 2个字段都匹配, 否则不全匹配</returns>
public bool IsZHMM(string TableName, String ZHziduan, String MMziduan, String ZH, String MM)
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
//sql语句
String SqlString = @"select * from " + TableName + " where " + ZHziduan + " = '" + ZH + "' and " + MMziduan + " = '" + MM + "'";
//执行ExecuteScalar,返回结果
object data = DocTools.MySql_.Ins.ExecuteScalar(SqlString, Paramter.ToArray());
//判断结果是否为空,如果空,则返回false表示没找到,否则返回true已找到结果
if (DocTools.Verify_.IsNull(data) == false)
{
return true;
}
else return false;
}
#endregion
#region 传参直接获取结果 ---》 查一组数据, 需要匹配两个条件
/// <summary>
/// 暂时不用
/// </summary>
/// <param name="TableName"></param>
/// <param name="ZHziduan"></param>
/// <param name="MMziduan"></param>
/// <param name="ZH"></param>
/// <param name="MM"></param>
/// <param name="ZiDuanFenGeFu"></param>
/// <param name="ZuFenGeFu"></param>
/// <param name="ALL"></param>
/// <returns></returns>
public String IsZHMM_temp(string TableName, String ZHziduan, String MMziduan, String ZH, String MM, String ZiDuanFenGeFu = ",", String ZuFenGeFu = "#", String ALL = "*")
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
//sql语句
String SqlString = @"select " + ALL + " from " + TableName + " where " + ZHziduan + " = '" + ZH + "' and " + MMziduan + " = '" + MM + "'";
//执行ExecuteScalar,返回结果
DataTable data = DocTools.MySql_.Ins.ExecuteDataTable(SqlString, Paramter.ToArray());
//将数据进行转换String格式
String res = DocTools.MySql_.Ins.ZhuanTableToString(data, ZiDuanFenGeFu, ZuFenGeFu);
if (DocTools.Verify_.IsNull(data) == false)
{
return res;
}
else
{
return null;
}
}
#endregion
#region 传参直接获取结果 ---》 查询一组数据(返回String字符串)
/*
* 调用示范:String b = DocTools.MySql_.Ins.GetSqlString_Zu("B_fuzhu_id", "xh", "2","@@@","###","email,qq"); 只用邮箱和QQ两个字段,指定分隔符
* 调用示范:String b = DocTools.MySql_.Ins.GetSqlString_Zu("B_fuzhu_id", "account", "pppppp"); 调用帐户=pppppp的整个数据,默认分隔符
*/
/// <summary>
/// 传参直接获取结果 ---》 查询一组数据(返回String字符串)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="PiPeiName">参数 ---> 匹配的名字 比如帐户</param>
/// <param name="ZiDuanFenGeFu">参数 ---> 字段分隔符</param>
/// <param name="ZuFenGeFu">参数 ---> 组数据分隔符</param>
/// <param name="ALL">参数 ---> 默认调用所有数据,如果只调用某个字段,可以"id,account,password"</param>
/// <returns>返回String类型,使用的分隔符可以传递参数指定</returns>
public String GetSqlString_Zu(String TableName, String ziName, String PiPeiName, String ZiDuanFenGeFu = ",", String ZuFenGeFu = "#", String ALL = "*")
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
//sql语句
String SqlString = @"select " + ALL + " from " + TableName + " where " + ziName + " = '" + PiPeiName + "'";
//ExecuteDataTable,返回结果
DataTable data = DocTools.MySql_.Ins.ExecuteDataTable(SqlString, Paramter.ToArray());
//将数据进行转换String格式
String res = DocTools.MySql_.Ins.ZhuanTableToString(data, ZiDuanFenGeFu, ZuFenGeFu);
if (DocTools.Verify_.IsNull(data) == false)
{
return res;
}
else
{
return null;
}
}
#region 多名(GetSqlString_Zu)
/// <summary>
/// 传参直接获取结果 ---》 查询一组数据(返回String字符串)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="PiPeiName">参数 ---> 匹配的名字 比如帐户</param>
/// <param name="ZiDuanFenGeFu">参数 ---> 字段分隔符</param>
/// <param name="ZuFenGeFu">参数 ---> 组数据分隔符</param>
/// <param name="ALL">参数 ---> 默认调用所有数据,如果只调用某个字段,可以"id,account,password"</param>
/// <returns>返回String类型,使用的分隔符可以传递参数指定</returns>
public String HuoQu_ShuJu_Zu(String TableName, String ziName, String PiPeiName, String ZiDuanFenGeFu = ",", String ZuFenGeFu = "#", String ALL = "*")
{
return GetSqlString_Zu(TableName, ziName, PiPeiName, ZiDuanFenGeFu, ZuFenGeFu, ALL);
}
#endregion
#endregion
#region 传参直接获取结果 ---》 查询一列数据(返回String字符串)
/*
* 调用示范:String b = DocTools.MySql_.Ins.GetSqlString_Lie("B_fuzhu_id", "password,qq,phone");
* 只调密码,qq,手机的列数据,默认分隔符
*
* 调用示范:String b = DocTools.MySql_.Ins.GetSqlString_Lie("B_fuzhu_id", "*","|","###");
* 调用所有数据列,使用"|"分割字段,使用"###"分割每组数据
*/
/// <summary>
/// 传参直接获取结果 ---》 查询一列数据(返回String字符串)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ListName">参数 ---> 字段名 比如id</param>
/// <param name="ZiDuanFenGeFu">参数 ---> 字段分隔符</param>
/// <param name="ZuFenGeFu">参数 ---> 组数据分隔符</param>
/// <returns>返回String类型,使用的分隔符可以传递参数指定</returns>
public String GetSqlString_Lie(String TableName, String ListName, String ZiDuanFenGeFu = ",", String ZuFenGeFu = "#")
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
//sql语句
String SqlString = @"select " + ListName + " from " + TableName;
//ExecuteDataTable,返回结果
DataTable data = DocTools.MySql_.Ins.ExecuteDataTable(SqlString, Paramter.ToArray());
//将数据进行转换String格式
String res = DocTools.MySql_.Ins.ZhuanTableToString(data, ZiDuanFenGeFu, ZuFenGeFu);
if (DocTools.Verify_.IsNull(data) == false)
{
return res;
}
else
{
return null;
}
}
#endregion
#region 传参直接获取结果 ---》 增加单条数据(返回int 受影响条数)
/// <summary>
/// 传参直接获取结果 ---》 增加单条数据(返回int)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="AddName">参数 ---> 对应字段要添加的信息</param>
/// <returns>返回被受影响的int (返回0活-1 表示增加失败)</returns>
public int AddSqlString_One(String TableName, String ziName, String AddName)
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
//判断参数全部都不为空,防止异常
if (DocTools.Verify_.IsNull(TableName) == false && DocTools.Verify_.IsNull(ziName) == false && DocTools.Verify_.IsNull(AddName) == false)
{
String insert = @"insert into " + TableName + " (" + ziName + ") value ('" + AddName + "')";
return ExecuteNonquery(insert, Paramter.ToArray());
}
else return -1;
}
#region 多名(增加单条数据)
/// <summary>
/// 传参直接获取结果 ---》 增加单条数据(返回int)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="AddName">参数 ---> 对应字段要添加的信息</param>
/// <returns>返回被受影响的int (返回0活-1 表示增加失败)</returns>
public int ZenJiaShuJu_One(String TableName, String ziName, String AddName)
{
return AddSqlString_One(TableName, ziName, AddName);
}
/// <summary>
/// 传参直接获取结果 ---》 增加单条数据(返回int)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="AddName">参数 ---> 对应字段要添加的信息</param>
/// <returns>返回被受影响的int (返回0活-1 表示增加失败)</returns>
public int TianJiaShuJu_One(String TableName, String ziName, String AddName)
{
return AddSqlString_One(TableName, ziName, AddName);
}
#endregion
#endregion
#region 传参直接获取结果 ---》 增加多条数据(返回int 受影响条数)
/*
* 调用方法1:DocTools.MySql_.Ins.AddSqlString_Many("J_fuzhu_jiage", "name,money1,money2", "\"11888714\",\"69852\",\"6881\"");
* 调用方法2:DocTools.MySql_.Ins.AddSqlString_Many("J_fuzhu_jiage", "name,money1,money2", "'11184','69852','6881'");
* ----> 给name,money1,money2 三个字段, 分别添加"'11184','69852','6881'" 三个信息(双引号和单引号都可以正确执行,双引号需要转义)
*/
/// <summary>
/// 传参直接获取结果 ---》 增加多条数据(返回int)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="AddName">一次添加多个信息,双引号需要转义 -> "\"信息1\",\"信息2\",\"信息3\""</param>
/// <returns>返回被受影响的int (返回0活-1 表示增加失败)</returns>
public int AddSqlString_Many(String TableName, String ziName, String AddName)
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
//判断参数全部都不为空,防止异常
if (DocTools.Verify_.IsNull(TableName) == false && DocTools.Verify_.IsNull(ziName) == false && DocTools.Verify_.IsNull(AddName) == false)
{
//正确执行:insert into J_fuzhu_jiage (name,money1,money2) value ('1888714','69852','6881') -->原sql语句
//正确执行:insert into J_fuzhu_jiage (name,money1,money2) value ("1888714","69852","6881") -->原sql语句
String insert = "insert into " + TableName + " (" + ziName + ") value (" + AddName + ")";
return ExecuteNonquery(insert, Paramter.ToArray());
}
else return -1;
}
#region 多明(增加多条数据)
/// <summary>
/// 传参直接获取结果 ---》 增加多条数据(返回int)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="AddName">一次添加多个信息,双引号需要转义 -> "\"信息1\",\"信息2\",\"信息3\""</param>
/// <returns>返回被受影响的int (返回0活-1 表示增加失败)</returns>
public int ZenJiaShuJu_Many(String TableName, String ziName, String AddName)
{
return AddSqlString_Many(TableName, ziName, AddName);
}
/// <summary>
/// 传参直接获取结果 ---》 增加多条数据(返回int)
/// </summary>
/// <param name="TableName">参数 ---> 表名</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="AddName">一次添加多个信息,双引号需要转义 -> "\"信息1\",\"信息2\",\"信息3\""</param>
/// <returns>返回被受影响的int (返回0活-1 表示增加失败)</returns>
public int TianJiaShuJu_Many(String TableName, String ziName, String AddName)
{
return AddSqlString_Many(TableName, ziName, AddName);
}
#endregion
#endregion
#region 传参直接获取结果 ---》 删除单条数据(返回int 受影响条数)
/// <summary>
/// 传参直接获取结果 ---》 删除单条数据(返回int 受影响条数)
/// </summary>
/// <param name="TableName">参数 ---> 表明</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="DeleteName">参数 ---> 删除要被删除的匹配信息</param>
/// <returns>返回被受影响的int (返回0活-1 表示删除失败)</returns>
public int DeleteSql_One(String TableName, String ziName, String DeleteName)
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
if (DocTools.Verify_.IsNull(TableName) == false && DocTools.Verify_.IsNull(ziName) == false && DocTools.Verify_.IsNull(DeleteName) == false)
{
//delete from h5user where opid = 'o_XOw1bc51n3j1CyXmUIWguAnsO4';
String insert = @"delete from " + TableName + " where " + ziName + " = '" + DeleteName + "'";
return ExecuteNonquery(insert, Paramter.ToArray());
}
return -1;
}
#region 多名(删除单条数据)
/// <summary>
/// 传参直接获取结果 ---》 删除单条数据(返回int 受影响条数)
/// </summary>
/// <param name="TableName">参数 ---> 表明</param>
/// <param name="ziName">参数 ---> 字段名 比如id</param>
/// <param name="DeleteName">参数 ---> 删除要被删除的匹配信息</param>
/// <returns>返回被受影响的int (返回0活-1 表示增加失败)</returns>
public int ShanChuSql_Oen(String TableName, String ziName, String DeleteName)
{
return DeleteSql_One(TableName, ziName, DeleteName);
}
#endregion
#endregion
#region 传参直接获取结果 ---》 更新单条数据(返回int 受影响条数)
/// <summary>
/// 传参直接获取结果 ---》 更新单条数据(返回int 受影响条数)
/// </summary>
/// <param name="TableName">参数 --> 表明</param>
/// <param name="ziName">参数 --> 要更新的字段</param>
/// <param name="UpdateName">参数 --> 要更新的信息</param>
/// <param name="PipeiName">参数 --> 匹配的字段名</param>
/// <param name="MuBiaoName">参数 --> 匹配目标的信息</param>
/// <returns>返回被受影响的int (返回0活-1 表示更新失败)</returns>
public int UpdateSql_One(String TableName, String ziName, String UpdateName, String PipeiName, String MuBiaoName)
{
//创建对象
List<MySqlParameter> Paramter = new List<MySqlParameter>();
if (DocTools.Verify_.IsNull(TableName) == false && DocTools.Verify_.IsNull(ziName) == false && DocTools.Verify_.IsNull(UpdateName) == false && DocTools.Verify_.IsNull(PipeiName) == false && DocTools.Verify_.IsNull(MuBiaoName) == false)
{
//@"UPDATE T_fuzhu_tongji set totaldata = '" + (int.Parse(ZhuanSetToString(x2)) + 1) + "' WHERE name='" + mc + "'";
//@"UPDATE T_fuzhu_tongji set totaldata = '" + (qjvar.tj_num + 1) + "' WHERE id=2";
String update = @"update " + TableName + " set " + ziName + " = '" + UpdateName + "' where " + PipeiName + " = '" + MuBiaoName + "'";
return ExecuteNonquery(update, Paramter.ToArray());
}
return -1;
}
#region 多名(更新单条数据)
/// <summary>
/// 传参直接获取结果 ---》 更新单条数据(返回int 受影响条数)
/// </summary>
/// <param name="TableName">参数 --> 表明</param>
/// <param name="ziName">参数 --> 要更新的字段</param>
/// <param name="UpdateName">参数 --> 要更新的信息</param>
/// <param name="PipeiName">参数 --> 匹配的字段名</param>
/// <param name="MuBiaoName">参数 --> 匹配目标的信息</param>
/// <returns>返回被受影响的int (返回0活-1 表示更新失败)</returns>
public int GengXinSql_One(String TableName, String ziName, String UpdateName, String PipeiName, String MuBiaoName)
{
return UpdateSql_One(TableName, ziName, UpdateName, PipeiName, MuBiaoName);
}
#endregion
#endregion
#region 传参直接获取结果 ---》 更新多条数据(返回int 受影响条数) 可修改多条2-3-4
/// <summary>
/// 传参直接获取结果 ---》 更新多条数据(返回int 受影响条数) 可修改多条2-3-4
/// </summary>
/// <param name="bm">表名</param>
/// <param name="PiPeiZiduan">匹配字段</param>
/// <param name="PiPeiData">匹配内容</param>
/// <param name="zd1">修改字段1</param>
/// <param name="xg1">修改内容1</param>
/// <param name="zd2">修改字段2</param>
/// <param name="xg2">修改内容2</param>
/// <returns>返回int</returns>
public int UpdateSql_Many(String bm, String PiPeiZiduan, String PiPeiData, String zd1, String xg1, String zd2, String xg2)
{
//同时修改2条信息
List<MySqlParameter> Paramter = new List<MySqlParameter>();
if (bm != string.Empty && PiPeiZiduan != string.Empty && PiPeiData != string.Empty && zd1 != string.Empty && xg1 != string.Empty && zd2 != string.Empty && xg2 != string.Empty)
{
string update = @"update " + bm + " set " + zd1 + " = '" + xg1 + "' , " + zd2 + " = '" + xg2 + "' where " + PiPeiZiduan + " = '" + PiPeiData + "'";
return ExecuteNonquery(update, Paramter.ToArray());
}
return -1;
}
/// <summary>
/// 传参直接获取结果 ---》 更新多条数据(返回int 受影响条数) 可修改多条2-3-4
/// </summary>
/// <param name="bm">表名</param>
/// <param name="PiPeiZiduan">匹配字段</param>
/// <param name="PiPeiData">匹配内容</param>
/// <param name="zd1">修改字段1</param>
/// <param name="xg1">修改内容1</param>
/// <param name="zd2">修改字段2</param>
/// <param name="xg2">修改内容2</param>
/// <param name="zd3">修改字段3</param>
/// <param name="xg3">修改内容3</param>
/// <returns>返回int</returns>
public int UpdateSql_Many(String bm, String PiPeiZiduan, String PiPeiData, String zd1, String xg1, String zd2, String xg2, String zd3, String xg3)
{
//同时修改3条信息
List<MySqlParameter> Paramter = new List<MySqlParameter>();
if (bm != string.Empty && PiPeiZiduan != string.Empty && PiPeiData != string.Empty && zd1 != string.Empty && xg1 != string.Empty && zd2 != string.Empty && xg2 != string.Empty && zd3 != string.Empty && xg3 != string.Empty)
{
string update = @"update " + bm + " set " + zd1 + " = '" + xg1 + "' , " + zd2 + " = '" + xg2 + "' , " + zd3 + " = '" + xg3 + "' where " + PiPeiZiduan + " = '" + PiPeiData + "'";
return ExecuteNonquery(update, Paramter.ToArray());
}
return -1;
}
/// <summary>
/// 传参直接获取结果 ---》 更新多条数据(返回int 受影响条数) 可修改多条2-3-4
/// </summary>
/// <param name="bm">表名</param>
/// <param name="PiPeiZiduan">匹配字段</param>
/// <param name="PiPeiData">匹配内容</param>
/// <param name="zd1">修改字段1</param>
/// <param name="xg1">修改内容1</param>
/// <param name="zd2">修改字段2</param>
/// <param name="xg2">修改内容2</param>
/// <param name="zd3">修改字段3</param>
/// <param name="xg3">修改内容3</param>
/// <param name="zd4">修改字段4</param>
/// <param name="xg4">修改内容4</param>
/// <returns>返回int</returns>
public int UpdateSql_Many(String bm, String PiPeiZiduan, String PiPeiData, String zd1, String xg1, String zd2, String xg2, String zd3, String xg3, String zd4, String xg4)
{
//同时修改4条信息
List<MySqlParameter> Paramter = new List<MySqlParameter>();
if (bm != string.Empty && PiPeiZiduan != string.Empty && PiPeiData != string.Empty && zd1 != string.Empty && xg1 != string.Empty && zd2 != string.Empty && xg2 != string.Empty && zd3 != string.Empty && xg3 != string.Empty && zd4 != string.Empty && xg4 != string.Empty)
{
string update = @"update " + bm + " set " + zd1 + " = '" + xg1 + "' , " + zd2 + " = '" + xg2 + "' , " + zd3 + " = '" + xg3 + "' , " + zd4 + " = '" + xg4 + "' where " + PiPeiZiduan + " = '" + PiPeiData + "'";
return ExecuteNonquery(update, Paramter.ToArray());
}
return -1;
}
#endregion
**
~~所有调用mysql方法, 全部都有关闭连接. 不需要自己额外关闭.
**