c 操作mysql通用类_C#数据库操作通用类

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Data.Common;usingSystem.Data;usingSystem.Reflection;namespaceDBHelpers

{publicclassDBHelper

{privatestaticDBParaFactory dbParaFactory;publicstaticDBParaFactory DbParaFactory

{get{if(DBHelper.dbParaFactory==null)

{returnnewSQLiteDBParaFactory();

}returnDBHelper.dbParaFactory;

}set{ DBHelper.dbParaFactory=value; }

}privatestaticDbConnection _Connection;/publicstaticDbConnection Connection

{get{if(_Connection==null)

{

_Connection=DbParaFactory.GetDbConnection();

_Connection.Open();

}elseif(_Connection.State==ConnectionState.Closed)

{

_Connection.Open();

}elseif(_Connection.State==ConnectionState.Broken)

{

_Connection.Close();

_Connection.Open();

}return_Connection;

}

}publicstaticboolExists(stringsafeSql)

{return(ExecuteCommand(safeSql)>0);

}publicstaticboolExists(stringSql,paramsDbParameter[] values)

{return(ExecuteCommand(Sql, values)>0);

}//执行并返回影响行数/publicstaticintExecuteCommand(stringsafeSql)

{

DbCommand cmd=cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.CommandText=safeSql;intresult=cmd.ExecuteNonQuery();returnresult;

}//执行并返回影响行数publicstaticintExecuteCommand(stringsql,paramsDbParameter[] values)

{

DbCommand cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.CommandText=sql;

cmd.Parameters.AddRange(values);returncmd.ExecuteNonQuery();

}//执行并返回执行结果中的第一列/publicstaticobjectGetScalar(stringsafeSql)

{

DbCommand cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.CommandText=safeSql;objectresult=cmd.ExecuteScalar();returnresult;

}//执行并返回执行结果中的第一列publicstaticobjectGetScalar(stringsql,paramsDbParameter[] values)

{

DbCommand cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.Parameters.AddRange(values);

cmd.CommandText=sql;objectresult=cmd.ExecuteScalar();returnresult;

}//根据sql语句获得datareader/publicstaticDbDataReader GetReader(stringsafeSql)

{

DbCommand cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.CommandText=safeSql;

DbDataReader reader=cmd.ExecuteReader();returnreader;

}//根据sql语句获得datareaderpublicstaticDbDataReader GetReader(stringsql,paramsDbParameter[] values)

{

DbCommand cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.CommandText=sql;

cmd.Parameters.AddRange(values);

DbDataReader reader=cmd.ExecuteReader();returnreader;

}//根据sql语句获得DataTable/publicstaticDataSet GetDataSet(stringsafeSql)

{

DataSet ds=newDataSet();

DbCommand cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.CommandText=safeSql;

DbDataAdapter da=DbParaFactory.GetDbDataAdapter();

da.SelectCommand=cmd;

da.Fill(ds);returnds;

}//根据sql语句获得DataTablepublicstaticDataSet GetDataSet(stringsql,paramsDbParameter[] values)

{

DataSet ds=newDataSet();

DbCommand cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.CommandText=sql;

cmd.Parameters.AddRange(values);

DbDataAdapter da=DbParaFactory.GetDbDataAdapter();

da.SelectCommand=cmd;

da.Fill(ds);returnds;

}publicstaticDataAdapter GetDataAdapter(stringsafeSql)

{

DbCommand cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.CommandText=safeSql;

DbDataAdapter da=DbParaFactory.GetDbDataAdapter();

da.SelectCommand=cmd;returnda;

}//根据sql语句获得DataTablepublicstaticDataAdapter GetDataAdapter(stringsql,paramsDbParameter[] values)

{

DbCommand cmd=DbParaFactory.GetDbCommand();

cmd.Connection=Connection;

cmd.CommandType=CommandType.Text;

cmd.CommandText=sql;

cmd.Parameters.AddRange(values);

DbDataAdapter da=DbParaFactory.GetDbDataAdapter();

da.SelectCommand=cmd;returnda;

}//DataSet装换为泛型集合/DataSet///待转换数据表索引///publicstaticIListDataSetToIList(DataSet ds,inttableIndex)

{if(ds==null||ds.Tables.Count<0)returnnull;if(tableIndex>ds.Tables.Count-1)returnnull;if(tableIndex<0)

tableIndex=0;

DataTable dt=ds.Tables[tableIndex];//返回值初始化IListresult=newList();for(intj=0; j

{

T _t=(T)Activator.CreateInstance(typeof(T));

PropertyInfo[] propertys=_t.GetType().GetProperties();foreach(PropertyInfo piinpropertys)

{for(inti=0; i

{//属性与字段名称一致的进行赋值if(pi.Name.Equals(dt.Columns[i].ColumnName))

{//数据库NULL值单独处理if(dt.Rows[j][i]!=DBNull.Value)

pi.SetValue(_t, dt.Rows[j][i],null);elsepi.SetValue(_t,null,null);break;

}

}

}

result.Add(_t);

}returnresult;

}//DataSet装换为泛型集合/DataSet///待转换数据表名称//2008-08-01 22:47 HPDV2806publicstaticIListDataSetToIList(DataSet ds,stringtableName)

{int_TableIndex=0;if(ds==null||ds.Tables.Count<0)returnnull;if(string.IsNullOrEmpty(tableName))returnnull;for(inti=0; i

{//获取Table名称在Tables集合中的索引值if(ds.Tables[i].TableName.Equals(tableName))

{

_TableIndex=i;break;

}

}returnDataSetToIList(ds, _TableIndex);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值