コード例 #1
0
 /// <summary>
 /// 向后拼接 Insert 语句之后的 GetIdentity 的语句。
 /// </summary>
 /// <param name="insertStatement">Insert 语句信息</param>
 public abstract void BuildGetIdentity(InsertStatement insertStatement);
コード例 #2
0
        /// <summary>
        /// 向后拼接 Insert 语句。
        /// </summary>
        /// <param name="insertStatement">Insert 语句信息</param>
        public virtual void BuildInsertStatement(InsertStatement insertStatement)
        {
            if (insertStatement.Values != null && insertStatement.Values.Count != 0)
            {
                BuildCode(Code_Insert);

                BuildCode(Code_Space);

                BuildTable(insertStatement.Table);

                BuildCode(Code_Parenthesis_Bracket_Begin);

                var isFirst = true;

                foreach (var item in insertStatement.Values)
                {
                    if (!isFirst)
                    {
                        BuildCode(Code_Comma);

                        BuildCode(Code_Space);
                    }

                    BuildColumn(item.Column);

                    isFirst = false;
                }

                BuildCode(Code_Parenthesis_Bracket_End);

                BuildCode(Code_Space);

                BuildCode(Code_Values);

                BuildCode(Code_Parenthesis_Bracket_Begin);

                isFirst = true;

                foreach (var item in insertStatement.Values)
                {
                    if (!isFirst)
                    {
                        BuildCode(Code_Comma);

                        BuildCode(Code_Space);
                    }

                    Invoke(nameof(BuildValue), item.Value);

                    isFirst = false;
                }


                BuildCode(Code_Parenthesis_Bracket_End);

                if (insertStatement.GetIdentity)
                {
                    BiildStatementEnd();

                    BuildGetIdentity(insertStatement);
                }

                BiildStatementEnd();
            }
        }