private static void PrepareCommand(DbCommand cmd,DbConnection conn,
DbTransaction trans,CommandType cmdType,string cmdText,DbParameter[] cmdParms)
{
//获取连接数据库的状态,与描述数据库连接的状态做一个对比
if(conn.State!=ConnectionState.Open)
cmd.Open();
//cmd要执行的文本的实例
cmd.CommandText=cmdText;
//如果事务存在,就去执行事务
if(trans!=null)
cmd.Transaction=trans;
//指定CommandText将以何种方式来执行
cmd.CommandType=cmdType;
//如果传入的参数不等于空
if(cmdParms!=null)
{
foreach(DbParameter parm in cmdParms)
{
if(parm!=null)
{
//设置parm是双向参数或者是输出参数或者是空,只要成立,设置值为空
if ((parm.Direction == ParameterDirection.InputOutput || parm.Direction == ParameterDirection.Input) &&
(parm.Value == null))
{
parm.Value = DBNull.Value;
}
}
}
//将传入的参数添加到cmd里面
cmd.Parameters(parm);
}
}
根据上面的代码可以看到这个方法的作用将参数添加到cmd里面。