当前位置: 首页 > article >正文

mysql idataparameter_数据访问基础类(基于MYSQL)

//Copyright (C) 2006-2010 Kolee///数据访问基础类(基于MYSQL)///publicclassMySqlHelper2

{publicMySqlHelper2()

{

}#region公用方法publicstaticintGetMaxId(stringfieldName,stringtableName,stringconnStr)

{stringstrsql="select max("+fieldName+")+1 from"+tableName;objectobj=GetSingle(strsql, connStr);if(obj==null)return1;returnint.Parse(obj.ToString());

}publicstaticboolExists(stringsqlStr,stringconnStr,paramsMySqlParameter[] cmdParms)

{objectobj=GetSingle(sqlStr, connStr, cmdParms);intcmdresult;if((Equals(obj,null))||(Equals(obj, DBNull.Value)))

{

cmdresult=0;

}else{

cmdresult=int.Parse(obj.ToString());

}if(cmdresult==0)returnfalse;returntrue;

}#endregion#region执行简单SQL语句//执行SQL语句,返回影响的记录数//SQL语句//影响的记录数publicstaticintExecuteSql(stringsqlStr,stringconnStr)

{using(var connection=newMySqlConnection(connStr))

{using(var cmd=newMySqlCommand(sqlStr, connection))

{try{

connection.Open();introws=cmd.ExecuteNonQuery();returnrows;

}catch(Exception E)

{

connection.Close();throwE;

}

}

}

}//执行多条SQL语句,实现数据库事务。//多条SQL语句///publicstaticvoidExecuteSqlTran(ArrayList sqlStringList,stringconnStr)

{using(var conn=newMySqlConnection(connStr))

{

conn.Open();

var cmd=newMySqlCommand();

cmd.Connection=conn;

MySqlTransaction tx=conn.BeginTransaction();

cmd.Transaction=tx;try{for(intn=0; n

{stringstrsql=sqlStringList[n].ToString();if(strsql.Trim().Length>1)

{

cmd.CommandText=strsql;

cmd.ExecuteNonQuery();

}

}

tx.Commit();

}catch(Exception e)

{

tx.Rollback();throwe;

}

}

}//执行带一个存储过程参数的的SQL语句。//SQL语句///参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加//影响的记录数publicstaticintExecuteSql(stringsqlStr,stringcontent,stringconnStr)

{using(var connection=newMySqlConnection(connStr))

{

var cmd=newMySqlCommand(sqlStr, connection);

var myParameter=newSystem.Data.SqlClient.SqlParameter("@content", SqlDbType.NText) { Value=content };

cmd.Parameters.Add(myParameter);try{

connection.Open();introws=cmd.ExecuteNonQuery();returnrows;

}catch(Exception E)

{throwE;

}finally{

cmd.Dispose();

connection.Close();

}

}

}//向数据库里插入图像格式的字段(和上面情况类似的另一种实例)//SQL语句///图像字节,数据库的字段类型为image的情况//影响的记录数publicstaticintExecuteSqlInsertImg(stringsqlStr,byte[] fs,stringconnStr)

{using(var connection=newMySqlConnection(connStr))

{

var cmd=newMySqlCommand(sqlStr, connection);

var myParameter=newSystem.Data.SqlClient.SqlParameter("@fs", SqlDbType.Image) { Value=fs };

cmd.Parameters.Add(myParameter);try{

connection.Open();introws=cmd.ExecuteNonQuery();returnrows;

}catch(Exception E)

{throwE;

}finally{

cmd.Dispose();

connection.Close();

}

}

}//执行一条计算查询结果语句,返回查询结果(object)。//计算查询结果语句//查询结果(object)publicstaticobjectGetSingle(stringsqlStr,stringconnStr)

{using(var connection=newMySqlConnection(connStr))

{using(var cmd=newMySqlCommand(sqlStr, connection))

{try{

connection.Open();objectobj=cmd.ExecuteScalar();if((Equals(obj,null))||(Equals(obj, DBNull.Value)))

{returnnull;

}returnobj;

}catch(Exception e)

{

connection.Close();throwe;

}

}

}

}//执行查询语句,返回SqlDataReader//查询语句/SqlDataReaderpublicstaticMySqlDataReader ExecuteReader(stringsqlStr,stringconnStr)

{

var connection=newMySqlConnection(connStr);

var cmd=newMySqlCommand(sqlStr, connection);try{

connection.Open();

MySqlDataReader myReader=cmd.ExecuteReader(CommandBehavior.CloseConnection);returnmyReader;

}catch(Exception e)

{throwe;

}finally{

connection.Close();

}

}//执行查询语句,返回DataSet//查询语句//DataSetpublicstaticDataSet Query(stringsqlString,stringconnStr)

{using(var connection=newMySqlConnection(connStr))

{

var ds=newDataSet();try{

connection.Open();

var command=newMySqlDataAdapter(sqlString, connection);

command.Fill(ds,"ds");

}catch(Exception ex)

{throwex;

}returnds;

}

}#endregion#region执行带参数的SQL语句//执行SQL语句,返回影响的记录数//SQL语句/影响的记录数publicstaticintExecuteSql(stringsqlStr,stringconnStr,paramsMySqlParameter[] cmdParms)

{using(var connection=newMySqlConnection(connStr))

{using(var cmd=newMySqlCommand())

{try{

PrepareCommand(cmd, connection,null, sqlStr, cmdParms);introws=cmd.ExecuteNonQuery();

cmd.Parameters.Clear();returnrows;

}catch(Exception e)

{throwe;

}

}

}

}//执行多条SQL语句,实现数据库事务。//SQL语句的哈希表(key为sql语句,value是该语句的SqlParameter[])///publicstaticvoidExecuteSqlTran(Hashtable sqlStrList,stringconnStr)

{using(var conn=newMySqlConnection(connStr))

{

conn.Open();using(MySqlTransaction trans=conn.BeginTransaction())

{

var cmd=newMySqlCommand();try{//循环foreach(DictionaryEntry myDeinsqlStrList)

{stringcmdText=myDe.Key.ToString();

var cmdParms=(MySqlParameter[])myDe.Value;

PrepareCommand(cmd, conn, trans, cmdText, cmdParms);intval=cmd.ExecuteNonQuery();

cmd.Parameters.Clear();

trans.Commit();

}

}catch(Exception ex)

{

trans.Rollback();throwex;

}

}

}

}//执行一条计算查询结果语句,返回查询结果(object)。//计算查询结果语句/查询结果(object)publicstaticobjectGetSingle(stringsqlStr,stringconnStr,paramsMySqlParameter[] cmdParms)

{using(var connection=newMySqlConnection(connStr))

{using(var cmd=newMySqlCommand())

{try{

PrepareCommand(cmd, connection,null, sqlStr, cmdParms);objectobj=cmd.ExecuteScalar();

cmd.Parameters.Clear();if((Equals(obj,null))||(Equals(obj, DBNull.Value)))

{returnnull;

}returnobj;

}catch(Exception e)

{throwe;

}

}

}

}//执行查询语句,返回SqlDataReader//查询语句/SqlDataReaderpublicstaticMySqlDataReader ExecuteReader(stringsqlStr,stringconnStr,paramsMySqlParameter[] cmdParms)

{

var connection=newMySqlConnection(connStr);

var cmd=newMySqlCommand();try{

PrepareCommand(cmd, connection,null, sqlStr, cmdParms);

MySqlDataReader myReader=cmd.ExecuteReader(CommandBehavior.CloseConnection);

cmd.Parameters.Clear();returnmyReader;

}catch(Exception e)

{throwe;

}finally{

connection.Close();

}

}//执行查询语句,返回DataSet//查询语句/DataSetpublicstaticDataSet Query(stringsqlStr,stringconnStr,paramsMySqlParameter[] cmdParms)

{using(var connection=newMySqlConnection(connStr))

{

var cmd=newMySqlCommand();

PrepareCommand(cmd, connection,null, sqlStr, cmdParms);using(var da=newMySqlDataAdapter(cmd))

{

var ds=newDataSet();try{

da.Fill(ds,"ds");

cmd.Parameters.Clear();

}catch(Exception ex)

{throwex;

}returnds;

}

}

}privatestaticvoidPrepareCommand(MySqlCommand cmd, MySqlConnection conn, MySqlTransaction trans,stringcmdText, 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 parmincmdParms)

cmd.Parameters.Add(parm);

}

}#endregion#region存储过程操作//执行存储过程//存储过程名//存储过程参数///SqlDataReaderpublicstaticMySqlDataReader RunProcedure(stringstoredProcName,stringconnStr, IDataParameter[] parameters)

{

var connection=newMySqlConnection(connStr);

MySqlDataReader returnReader;

connection.Open();

MySqlCommand command=BuildQueryCommand(connection, storedProcName, parameters);

command.CommandType=CommandType.StoredProcedure;

returnReader=command.ExecuteReader(CommandBehavior.CloseConnection);returnreturnReader;

}//执行存储过程//存储过程名///存储过程参数///DataSet结果中的表名///DataSetpublicstaticDataSet RunProcedure(stringstoredProcName,stringconnStr, IDataParameter[] parameters,stringtableName)

{using(var connection=newMySqlConnection(connStr))

{

var dataSet=newDataSet();

connection.Open();

var sqlDa=newMySqlDataAdapter();

sqlDa.SelectCommand=BuildQueryCommand(connection, storedProcName, parameters);

sqlDa.Fill(dataSet, tableName);

connection.Close();returndataSet;

}

}//构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)//数据库连接///存储过程名///存储过程参数///SqlCommandprivatestaticMySqlCommand BuildQueryCommand(MySqlConnection connection,stringstoredProcName, IEnumerableparameters)

{

var command=newMySqlCommand(storedProcName, connection) {CommandType=CommandType.StoredProcedure};foreach(MySqlParameter parameterinparameters)

{

command.Parameters.Add(parameter);

}returncommand;

}//执行存储过程,返回影响的行数//存储过程名//存储过程参数///影响的行数///publicstaticintRunProcedure(stringstoredProcName,stringconnStr, IDataParameter[] parameters,outintrowsAffected)

{using(var connection=newMySqlConnection(connStr))

{intresult;

connection.Open();

MySqlCommand command=BuildIntCommand(connection, storedProcName, parameters);

rowsAffected=command.ExecuteNonQuery();

result=(int)command.Parameters["ReturnValue"].Value;//Connection.Close();returnresult;

}

}//创建 SqlCommand 对象实例(用来返回一个整数值)/存储过程名///存储过程参数///SqlCommand 对象实例privatestaticMySqlCommand BuildIntCommand(MySqlConnection connection,stringstoredProcName, IEnumerableparameters)

{

MySqlCommand command=BuildQueryCommand(connection, storedProcName, parameters);

command.Parameters.Add(newMySqlParameter("ReturnValue",

MySqlDbType.Int32,4, ParameterDirection.ReturnValue,false,0,0,string.Empty, DataRowVersion.Default,null));returncommand;

}#endregion}

http://www.lryc.cn/news/2421004.html

相关文章:

  • java的无缓冲输出_java 缓冲流
  • soap toolkit 3.0 web服务_JMeter必知必会系列(14) JMeter测试Web服务
  • 计算机毕业设计django+vue音乐网站的设计与实现【开题+论文+程序】
  • 4.2 同步计数器74x163 的实现
  • “瑞士军刀“ NC的妙用
  • part.6 从盘古开天开始学C++之逻辑运算
  • Ubuntu 9.04使用感受(升级到了10.04)
  • iP1000废弃墨水吸收器已满解决方法
  • ASP.NET 验证控件与Attributes.Add 脚本并存
  • C语言整人恶作剧小程序(慎用)
  • 运筹学之排队论
  • 【转】地心历险记 2:神秘岛 迅雷 下载 地址|神秘岛 高清 下载地址
  • dropdownlist提交后绑定数据清空
  • 阿里云如何将一个域名解析到另一个域名上
  • 手动设置IP
  • QQ扫描硬盘
  • Web网络基础知识
  • 桌面版IDE瑟瑟发抖,Github发布代码空间Codespaces
  • 小波变换介绍
  • 如何关闭445端口?
  • FinePlus 1.11 瓢虫DIY论坛终结版 Build 1213
  • 2021-08-17
  • 无法打开VS code解决办法之一
  • 搭建网站教程
  • 解决Windows缺少PhysXExtensions.dll文件无法运行程序问题
  • resnet,inception等网络核心单元代码实现
  • 无法安装Flash Player ActiveX 9.0的解决办法
  • 沙拉布莱曼
  • 二、windows批处理
  • 小胜靠智、大胜靠德、永胜靠和