protected void TranslateScalarParameter(CatalogDevicePlan devicePlan, CatalogDevicePlanNode devicePlanNode, PlanNode planNode) { SQLType type = null; switch (planNode.DataType.Name) { case "System.String": case "System.Name": case "System.UserID": type = new SQLStringType(200); break; case "System.Integer": type = new SQLIntegerType(4); break; case "System.Boolean": type = new SQLIntegerType(1); break; } if (type != null) { string parameterName = String.Format("P{0}", devicePlanNode.PlanParameters.Count + 1); devicePlanNode.PlanParameters.Add(new CatalogPlanParameter(new SQLParameter(parameterName, type, null), planNode)); devicePlanNode.WhereCondition.AppendFormat("@{0}", parameterName); } else { devicePlan.IsSupported = false; } }
public string GetCommandText(string sql, SQLStringType type) { string provider = this.provider; if (provider != null) { if (!(provider == "System.Data.OracleClient")) { if (provider == "System.Data.SqlClient") { switch (type) { case SQLStringType.OracleSQLString: sql = sql.Replace(":", "@"); sql = sql.Replace("||", "+"); sql = sql.Replace("NVL", "ISNULL"); sql = sql.Replace("SYSDATE", "SYSDATETIME()"); return(sql); case SQLStringType.SqlServerSQLString: return(sql); } } return(sql); } switch (type) { case SQLStringType.OracleSQLString: return(sql); case SQLStringType.SqlServerSQLString: sql = sql.Replace("@", ":"); sql = sql.Replace("+", "||"); sql = sql.Replace("ISNULL", "NVL"); sql = sql.Replace("SYSDATETIME()", "SYSDATE"); return(sql); } } return(sql); }