private void SetSqlCommandInputParamValue(DbCommand command, object[] param, string query) { // Set parameters String[] inParamNames = GetSqlParamNames(query); for (int i = 0; i < inParamNames.Length; i++) { //var para = new MySqlParameter(inParamNames[i], param[i]); var para = command.CreateParameter(); para.ParameterName = inParamNames[i]; para.Value = param[i]; para.DbType = DbTypeUtil.GetDBType(para.Value); if (para.DbType == DbType.String && para.Value != null && string.IsNullOrEmpty(para.Value.ToString())) { para.Value = null; } if (para.Value == null) { para.Value = Convert.DBNull; } command.Parameters.Add(para); } }
private void SetProcCommandInputParamValue(DbCommand command, object[] param, String[] inParamNames) { // Set parameters for (int i = 0; i < inParamNames.Length; i++) { var para = command.CreateParameter(); para.ParameterName = inParamNames[i]; para.Value = param[i]; if (para.Value is DataTable) { var sqlPara = para as SqlParameter; if (sqlPara == null) { throw new Exception("Only SQL Server supports a parameter of DataTable Type."); } sqlPara.SqlDbType = SqlDbType.Structured; } else { para.DbType = DbTypeUtil.GetDBType(para.Value); } if (para.DbType == DbType.String && para.Value != null && string.IsNullOrEmpty(para.Value.ToString())) { para.Value = null; } if (para.Value == null) { para.Value = Convert.DBNull; } command.Parameters.Add(para); } }