/// <summary> /// 查询指定函数语句并返回当前语句 /// </summary> /// <param name="function">函数</param> /// <param name="aliasesName">别名</param> /// <exception cref="ArgumentNullException">函数不能为空</exception> /// <returns>当前语句</returns> public SelectCommand Query(ISqlFunction function, String aliasesName) { if (function == null) { throw new ArgumentNullException("function"); } this._queryFields.Add(SqlQueryField.InternalCreateFromFunction(function.ToString(this.DatabaseType), aliasesName)); if (function.HasParameters) { this._parameters.AddRange(function.GetAllParameters()); } return(this); }
/// <summary> /// 插入指定参数并返回当前语句 /// </summary> /// <param name="columnName">字段名</param> /// <param name="function">函数</param> /// <exception cref="ArgumentNullException">函数不能为空</exception> /// <returns>当前语句</returns> public InsertCommand Add(String columnName, ISqlFunction function) { if (function == null) { throw new ArgumentNullException("function"); } this._parameters.Add(SqlParameter.CreateCustomAction(columnName, function.ToString(this.DatabaseType))); if (function.HasParameters) { this._parameters.AddRange(function.GetAllParameters()); } return(this); }
/// <summary> /// 更新指定参数并返回当前语句 /// </summary> /// <param name="columnName">字段名</param> /// <param name="function">函数</param> /// <exception cref="ArgumentNullException">函数不能为空</exception> /// <returns>当前语句</returns> /// <example> /// <code lang="C#"> /// <![CDATA[ /// IDatabase db = DatabaseFactory.CreateDatabase(); /// UpdateCommand cmd = db.CreateUpdateCommand("tbl_Users") /// .Set("LastLoginTime", db.Functions.Now()); /// .Where(c => c.Equal("UserID", 1)); /// /// //UPDATE tbl_Users SET LastLoginTime = GETDATE() WHERE UserID = @UserID /// //@UserID = 1 /// //"GETDATE()" will be changed into "NOW()" in Access or MySQL, "SYSDATE" in Oracle, or "DATETIME('NOW')" in SQLite. /// /// Boolean success = cmd.Result() > 0; /// ]]> /// </code> /// </example> public UpdateCommand Set(String columnName, ISqlFunction function) { if (function == null) { throw new ArgumentNullException("function"); } this._updateFields.Add(this.CreateDataParameterCustomAction(columnName, function.GetCommandText())); if (function.HasParameters) { this._parameters.AddRange(function.GetAllParameters()); } return(this); }
/// <summary> /// 更新指定参数并返回当前语句 /// </summary> /// <param name="columnName">字段名</param> /// <param name="function">函数</param> /// <exception cref="ArgumentNullException">函数不能为空</exception> /// <returns>当前语句</returns> /// <example> /// <code lang="C#"> /// <![CDATA[ /// IDatabase db = DatabaseFactory.CreateDatabase(); /// UpdateCommand cmd = db.CreateUpdateCommand("tbl_Users") /// .Set("LastLoginTime", db.Functions.Now()); /// .Where(c => c.Equal("UserID", 1)); /// /// //UPDATE tbl_Users SET LastLoginTime = GETDATE() WHERE UserID = @UserID /// //@UserID = 1 /// //"GETDATE()" will be changed into "NOW()" in Access or MySQL, "SYSDATE" in Oracle, or "DATETIME('NOW')" in SQLite. /// /// Boolean success = cmd.Result() > 0; /// ]]> /// </code> /// </example> public UpdateCommand Set(String columnName, ISqlFunction function) { if (function == null) { throw new ArgumentNullException("function"); } this._parameters.Add(this.CreateSqlParameterCustomAction(columnName, function.GetCommandText())); if (function.HasParameters) { this._parameters.AddRange(function.GetAllParameters()); } return this; }
/// <summary> /// 查询指定函数语句并返回当前语句 /// </summary> /// <param name="function">函数</param> /// <param name="aliasesName">别名</param> /// <exception cref="ArgumentNullException">函数不能为空</exception> /// <returns>当前语句</returns> public SelectCommand Query(ISqlFunction function, String aliasesName) { if (function == null) { throw new ArgumentNullException("function"); } this._queryFields.Add(SqlQueryField.InternalCreateFromFunction(function.ToString(this.DatabaseType), aliasesName)); if (function.HasParameters) { this._parameters.AddRange(function.GetAllParameters()); } return this; }