本文整理汇总了C#中System.Data.Common.DbParameter.Cast方法的典型用法代码示例。如果您正苦于以下问题:C# DbParameter.Cast方法的具体用法?C# DbParameter.Cast怎么用?C# DbParameter.Cast使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Common.DbParameter
的用法示例。
在下文中一共展示了DbParameter.Cast方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PrepareCommand
/// <summary>
/// 生成要执行的命令
/// </summary>
private static void PrepareCommand(DbCommand cmd, DbConnection conn, DbTransaction trans, CommandType cmdType, string cmdText, DbParameter[] cmdParms)
{
// 如果存在参数,则表示用户是用参数形式的SQL语句,可以替换
if (cmdParms != null && cmdParms.Length > 0) cmd.CommandText = cmdText.Replace("?", "@").Replace(":", "@");
if (conn.State != ConnectionState.Open) conn.Open();
cmd.Connection = conn;
cmd.CommandText = cmdText;
if (trans != null) cmd.Transaction = trans;
cmd.CommandType = cmdType;
if (Equals(cmdParms, null)) return;
foreach (var parm in cmdParms.Cast<OleDbParameter>())
{
// 如果存在参数,则表示用户是用参数形式的SQL语句,可以替换
parm.ParameterName = parm.ParameterName.Replace("?", "@").Replace(":", "@");
// 这是Access的一个bug,时间类型必须转化为字符串类型
if (DbType.Date.Equals(parm.DbType) || DbType.DateTime.Equals(parm.DbType) || DbType.Time.Equals(parm.DbType) || DbType.DateTime2.Equals(parm.DbType) || DbType.DateTimeOffset.Equals(parm.DbType)) parm.DbType = DbType.String;
if (Equals(parm.Value, null)) parm.Value = DBNull.Value;
cmd.Parameters.Add(parm);
}
}