Пример #1
0
 /// <summary>
 /// 外键
 /// </summary>
 /// <param name="parentTable">主表</param>
 /// <param name="childTable">子表</param>
 /// <param name="parentParam">主表属性</param>
 /// <param name="childParam">子表属性</param>
 /// <param name="previous">上一个</param>
 public KeyWordAddForeignkeyItem(string name, string parentTable, string childTable,
                                 string parentParam, string childParam,
                                 BQLQuery previous)
     : base(previous)
 {
     _item = new TableRelationAttribute("", name, childTable, parentTable, childParam, parentParam, "", false);
 }
Пример #2
0
        /// <summary>
        /// 输出关键字转换后的SQL语句
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public static AbsCondition ToCondition(BQLQuery item, DBInfo db, TableAliasNameManager aliasManager, bool isPutPropertyName)
        {
            KeyWordInfomation info = CreateKeywordInfo(db);

            info.AliasManager            = aliasManager;
            info.Infos.IsPutPropertyName = isPutPropertyName;
            return(DoConver(info, item));
        }
Пример #3
0
        /// <summary>
        /// 进行转换
        /// </summary>
        /// <param name="info"></param>
        /// <param name="item"></param>
        /// <returns></returns>
        private static AbsCondition DoConver(KeyWordInfomation info, BQLQuery item)
        {
            KeyWordConver conver = new KeyWordConver();
            AbsCondition  con    = conver.ToConver(item, info);

            con.AliasManager = info.AliasManager;
            con.DbParamList  = info.ParamList;
            con.CacheTables  = info.ContainTables;
            return(con);
        }
Пример #4
0
 /// <summary>
 /// 插入一个查询集合
 /// </summary>
 /// <param name="query">查询</param>
 /// <returns></returns>
 public KeyWordInsertQueryItem ByQuery(BQLQuery query)
 {
     return(new KeyWordInsertQueryItem(query, this));
 }
Пример #5
0
 /// <summary>
 /// Insert关键字项
 /// </summary>
 /// <param name="tableHandle">要插入的表</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordInserItem(BQLTableHandle tableHandle, BQLQuery previous)
     : base(previous)
 {
     this.tableHandle = tableHandle;
 }
Пример #6
0
 /// <summary>
 /// Insert的字段关键字项
 /// </summary>
 /// <param name="paramHandles">字段集合</param>
 /// <param name="previous">上一个关键字</param>
 public KeyWordTableParamItem(string tableName, BQLQuery previous)
     : base(previous)
 {
     _tableName    = tableName;
     this._tparams = new List <EntityParam>();
 }
Пример #7
0
 /// <summary>
 /// Set关键字项
 /// </summary>
 /// <param name="parameter">要更新的字段</param>
 /// <param name="valueItem">值</param>
 /// <param name="previous">上一个</param>
 public KeyWordUpdateSetItem(BQLParamHandle parameter, BQLValueItem valueItem, BQLQuery previous)
     : base(previous)
 {
     lstItems = new UpdateSetParamItemList();
     lstItems.Add(parameter, valueItem);
 }
Пример #8
0
 /// <summary>
 /// Update关键字项
 /// </summary>
 /// <param name="table">表</param>
 /// <param name="previous">上一个关键字</param>
 public KeyWordUpdateItem(BQLTableHandle table, BQLQuery previous)
     : base(previous)
 {
     this.table = table;
 }
Пример #9
0
 /// <summary>
 /// Insert的字段关键字项
 /// </summary>
 /// <param name="paramHandles">字段集合</param>
 /// <param name="previous">上一个关键字</param>
 public KeyWordAddParamItem(string tableName, BQLQuery previous)
     : base(previous)
 {
     _tableName = tableName;
 }
Пример #10
0
 /// <summary>
 /// Insert的字段关键字项
 /// </summary>
 /// <param name="valueHandles">值的集合</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordInsertQueryItem(BQLQuery query, BQLQuery previous)
     : base(previous)
 {
     this._query = new BQLAliasHandle(query, null);
 }
Пример #11
0
 /// <summary>
 /// 关键字项
 /// </summary>
 /// <param name="keyWordName">关键字名</param>
 /// <param name="previous">上一个关键字</param>
 internal BQLQuery(BQLQuery previous)
 {
     this.previous = previous;
 }
Пример #12
0
 /// <summary>
 /// Insert的字段关键字项
 /// </summary>
 /// <param name="paramHandles">字段集合</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordInsertFieldItem(BQLParamHandle[] paramHandles, BQLQuery previous)
     : base(previous)
 {
     this.paramHandles = paramHandles;
 }
Пример #13
0
 /// <summary>
 /// LeftJoin关键字项
 /// </summary>
 /// <param name="prmsHandle">字段集合</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordJoinItem(BQLTableHandle joinTable, BQLCondition condition, string keyWord, BQLQuery previous)
     : base(new BQLTableHandle[] { joinTable }, previous)
 {
     //this.joinTable = joinTable;
     this._condition = condition;
     this._keyWord   = keyWord;
 }
Пример #14
0
 /// <summary>
 /// Where关键字项
 /// </summary>
 /// <param name="condition">条件</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordWhereItem(BQLCondition condition, BQLQuery previous)
     : base(previous)
 {
     this._condition = condition;
 }
Пример #15
0
 /// <summary>
 /// 表信息
 /// </summary>
 /// <param name="paramHandles">字段集合</param>
 /// <param name="previous">上一个关键字</param>
 public KeyWordTableParamItem(List <EntityParam> lstParams, List <TableRelationAttribute> relationItems, string tableName, BQLQuery previous)
     : base(previous)
 {
     _tableName          = tableName;
     this._relationItems = relationItems;
     this._tparams       = lstParams;
 }
 /// <summary>
 /// 外键
 /// </summary>
 /// <param name="pkParams">主键集合</param>
 /// <param name="previous">上一个</param>
 public KeyWordAddPrimarykeyItem(IEnumerable <string> pkParams, string name, BQLQuery previous)
     : base(previous)
 {
     _name     = name;
     _pkParams = pkParams;
 }
Пример #17
0
 /// <summary>
 /// Insert关键字项
 /// </summary>
 /// <param name="tableHandle">要插入的表</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordCreateTableItem(string tableName, BQLQuery previous)
     : base(previous)
 {
     this._tableName = tableName;
 }
Пример #18
0
 /// <summary>
 /// Select关键字项
 /// </summary>
 /// <param name="prmsHandle">字段集合</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordOrderByItem(BQLParamHandle[] parameters, BQLQuery previous)
     : base(previous)
 {
     this.parameters = parameters;
 }
 /// <summary>
 /// Insert的字段关键字项
 /// </summary>
 /// <param name="valueHandles">值的集合</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordInsertValueItem(BQLValueItem[] valueHandles, BQLQuery previous)
     : base(previous)
 {
     this.valueHandles = valueHandles;
 }
Пример #20
0
 /// <summary>
 /// 显示记录的范围
 /// </summary>
 /// <param name="star">开始记录</param>
 /// <param name="totalRecords">要显示多少条记录</param>
 /// <param name="previous">上一个语句</param>
 public KeyWordLimitItem(uint star, uint totalRecords, BQLQuery previous)
     : base(previous)
 {
     this.star         = star;
     this.totalRecords = totalRecords;
 }
Пример #21
0
 /// <summary>
 /// Insert的字段关键字项
 /// </summary>
 /// <param name="paramHandles">字段集合</param>
 /// <param name="previous">上一个关键字</param>
 public KeyWordAddParamItem(EntityParam param, string tableName, BQLQuery previous)
     : base(previous)
 {
     _tableName = tableName;
     _param     = param;
 }
Пример #22
0
 /// <summary>
 /// Insert的字段关键字项
 /// </summary>
 /// <param name="paramHandles">字段集合</param>
 /// <param name="previous">上一个关键字</param>
 public KeyWordAddForeignkeyItem(TableRelationAttribute info, BQLQuery previous)
     : base(previous)
 {
     _item = info;
 }
Пример #23
0
 /// <summary>
 /// Where关键字项
 /// </summary>
 /// <param name="condition">条件</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordGroupByItem(IList<BQLParamHandle> paramhandles, BQLQuery previous)
     : base(previous) 
 {
     this.paramhandles = paramhandles;
 }
Пример #24
0
 /// <summary>
 /// Where关键字项
 /// </summary>
 /// <param name="condition">条件</param>
 /// <param name="previous">上一个关键字</param>
 internal KeyWordHavingItem(BQLCondition condition, BQLQuery previous)
     : base(previous)
 {
     this.condition = condition;
 }
Пример #25
0
 /// <summary>
 /// Set关键字项
 /// </summary>
 /// <param name="lstItems">要更新的项集合</param>
 /// <param name="previous">上一个关键字</param>
 public KeyWordUpdateSetItem(UpdateSetParamItemList lstItems, BQLQuery previous)
     : base(previous)
 {
     this.lstItems = lstItems;
 }
Пример #26
0
 /// <summary>
 /// From关键字项
 /// </summary>
 /// <param name="tables">表集合</param>
 /// <param name="previous">上一个关键字</param>
 public KeyWordFromItem(BQLTableHandle[] tables, BQLQuery previous)
     : base(previous)
 {
     this._tables = tables;
 }