首页 > 编程知识 正文

怎么连接数据库,php连接数据库mysql

时间:2023-05-04 18:09:48 阅读:142842 作者:672

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;

}

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。