///// <summary> ///// Thêm các tham số mặc định ///// </summary> //public static void ApplyDefaultParameters(DbCommand command, bool autoAddDivisionID, bool isUsingCondition = true) //{ // AddInParameter(command, PARA_CREATEUSERID, DbType.String, DongAEnvironment.UserID, true); // AddInParameter(command, PARA_LASTMODIFYUSERID, DbType.String, DongAEnvironment.UserID, true); // ASOFTCondition condition = DongAEnvironment.GetCondition(); // if (condition != null && isUsingCondition) // { // AddCondition(command, // PARA_CONDITIONVT, condition.ConditionVT, // PARA_ISUSEDCONDITIONVT, condition.IsUsedConditionVT); // AddCondition(command, // PARA_CONDITIONOB, condition.ConditionOB, // PARA_ISUSEDCONDITIONOB, condition.IsUsedConditionOB); // AddCondition(command, // PARA_CONDITIONWA, condition.ConditionWA, // PARA_ISUSEDCONDITIONWA, condition.IsUsedConditionWA); // AddCondition(command, // PARA_CONDITIONIV, condition.ConditionIV, // PARA_ISUSEDCONDITIONIV, condition.IsUsedConditionIV); // AddCondition(command, // PARA_CONDITIONAC, condition.ConditionAC, // PARA_ISUSEDCONDITIONAC, condition.IsUsedConditionAC); // AddCondition(command, // PARA_CONDITIONDE, condition.ConditionDE, // PARA_ISUSEDCONDITIONDE, condition.IsUsedConditionDE); // } //} public static void AddInParameter(DbCommand command, string name, DbType dbType, object value, bool overrideValue) { // Đảm bảo tên tham số đúng chuẩn if (!name.StartsWith("@")) { name = "@" + name; } if (!command.Parameters.Contains(name)) { Instance.AddInParameter(command, name, dbType, value); } else if (overrideValue) { Instance.SetParameterValue(command, name, value); } }
private static DbCommand PrepCommand(Database db, string procName, params object[] parameterVals) { DbCommand dbCommand = db.GetStoredProcCommand(procName); dbCommand.CommandTimeout = 180; db.DiscoverParameters(dbCommand); int numVals = parameterVals.Length; /// Start at 1; skip 0 which is RETURN_VALUE. for (int i = 1; i < dbCommand.Parameters.Count; i++) { /// parameterVals should have same # elements, but index is offset by 1 compared to dbCommand.Parameters. int valIndex = i - 1; object value = valIndex < numVals ? parameterVals[valIndex] : null; db.SetParameterValue(dbCommand, dbCommand.Parameters[i].ParameterName, value); } return dbCommand; }
public override int ResetOrderPrintStatus(IList<OrderInfo> orders) { int num = 0; database = DatabaseFactory.CreateDatabase(); StringBuilder builder = new StringBuilder(); builder.Append("UPDATE Hishop_Orders SET IsPrinted=0 WHERE OrderId=@OrderId"); DbCommand sqlStringCommand = database.GetSqlStringCommand(builder.ToString()); database.AddInParameter(sqlStringCommand, "OrderId", DbType.String); try { foreach (OrderInfo info in orders) { database.SetParameterValue(sqlStringCommand, "OrderId", info.OrderId); num += database.ExecuteNonQuery(sqlStringCommand); } } catch { } return num; }