web.config
providername=' MySQL.data.MySQL client ' /
//
usingMySQL.data.MySQL客户端; 使用系统; using system.collections.generic; usingSystem.Data; usingSystem.Linq; usingSystem.Reflection; usingSystem.Text; usingSystem.Threading.Tasks; namespaceService.Common
{public classDbMyHelp
//连接字符串拼装//mycon=newmysqlconnection (' host=127.0.0.1; UserName=root; password=根; Database=score; 端口=3306 '; //privatestaticstringconfig=system.configuration.configuration manager.appsettings [ ' mysqldb ' ].tostring (;
privatestring config=string.empty; ///
//数据库连接字符串///
公共字符串连接字符串
{set { config=value; }
///
//结构///
publicdbmyhelp (字符串连接名称) )。
{ this.config=system.configuration.configuration manager.connection strings [ conn name ].tostring (;
///
//查询返回列表
///
///
///
///
公共查询列表(字符串SQL ) )。
获取MYSQ查看数据返回值
mysqlconnectionmycon=newmysqlconnection (config ); //连接
mycon.Open (; //为查询指令赋值,可以写多条语句,并在多条语句之间使用; 用号码隔开
mysqlcommandmycom=newmysqlcommand (SQL,mycon );
mysqldatareadermyrec=mycom.executereader (;
List list=new List (; 读一遍,看不懂就完了
while(myrec.read ) )
{
tobj=execdatareader(myrec );
list.add(obj; //string my info=my info myrec [ ' name ' ] ' ' myrec [ ' id ' ];
//关闭相关对象
myrec.Close (;
mycom.Dispose (;
mycon.Close (; 返回列表;
///
//查询返回object///
///
///
公共对象查询对象(字符串SQL ) )。
获取MYSQ查看数据返回值
mysqlconnectionmycon=newmysqlconnection (config ); //连接
mycon.Open (; //为查询指令赋值,可以写多条语句,并在多条语句之间使用; 用号码隔开
mysqlcommandmycom=newmysqlcommand (SQL,mycon ); object obj=mycom.ExecuteScalar (; //关闭相关对象
mycom.Dispose (;
mycon.Close (; 返回对象;
///
//查询返回datatable///
///
///
公共数据查询表(字符串SQL ) )。
{
mysqlconnectionmycon=newmysqlconnection (config );
mycon.Open (;
mysqlcommandmycom=newmysqlcommand (SQL,mycon );
DataSet dataset=new DataSet (;//放置执行//dataset后的数据集合
mysqldataadapteradapter=newmysqldataadapter (mycom;
adapter.fill(dataset;
mycom.Dispose (;
mycon.Close (; return dataset.Tables[0];
///
//添加操作///
///
///
公共xecutsql (字符串SQL )。
{int result=0;
mysqlconnectionmycon=newmysqlconnection (config );
mycon.Open (;
mysqlcommandmycom=newmysqlcommand (SQL,mycon );
result=mycom.ExecuteNonQuery (;
mycom.Dispose (;
mycon.Close (;
mycon.Dispose (; 返回结果;
///
//添加事务操作///
///
///
公共字符串交换(SQL ) )。
{
mysqlconnectionmycon=newmysqlconnection (config );
MySqlCommand mycom=null;
MySqlTransaction trans=null; int result=0; try{
mycon.Open (;
mycom=mycon.CreateCommand (;
mycom.CommandText=sql; //创建事务
trans=mycon.BeginTransaction (;
result=mycom.ExecuteNonQuery (; //提交事务
trans.Commit (;
(catch(/回滚事务
trans.Rollback (;
}finally{
mycom.Dispose (;
mycon.Close (;
mycon.Dispose (;
}returnresult;
///
///IDataReader,MySqlDataReader为t实体//
///
///
///
私有数据读取器(idatareader ) )。
{
tobj=default(t; try{
typetype=typeof(t;
obj=(t ) activator.createinstance ) type; //从当前部件反射创建指定类型的对象
属性信息[ ]属性信息=type.get属性(; //获取指定类型中的所有属性
属性信息属性信息(foreach ) )。
{for(intI=0; i reader.FieldCount; I )
{ string field name=reader.getname (I; field name.to lower (==property info.name.to lower ) )
//object val=reader [ property info.name ]; //读取表中某条记录中的某列
object val=reader[fieldName]; //读取表中某条记录中的某列
if(val!=空值!=DBNull.Value )
{
propertyinfo.setvalue(obj,val );
}break;
}
}
}
}catch(exception ) ) )。
{throw;
}returnobj;
}
}公共静态类helper
///
///从datatable到List实体//
//
//
//
publicstaticlisttoentity (thisdatatabledt ) where T : new ) )。
{
List list=new List (;
typeinfo=typeof(t; var props=info.GetProperties (; Foreach(datarowdrindt.rows ) )。
{
T entity=newT (; Oreach(varproinprops ) )。
{ varpropinfo=info.getproperty (pro.name; if (dt.columns.contains (pro.name ) ) ) ) ) ) )。
{
propinfo.setvalue(entity,convert.changetype ) dr[pro.name],propInfo.PropertyType ),null;
}
}
list.add(entity;
}returnlist;
}
}
}