当前位置: 首页>>代码示例>>C#>>正文


C# SqlExpression.ToString方法代码示例

本文整理汇总了C#中Deveel.Data.Sql.Expressions.SqlExpression.ToString方法的典型用法代码示例。如果您正苦于以下问题:C# SqlExpression.ToString方法的具体用法?C# SqlExpression.ToString怎么用?C# SqlExpression.ToString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Deveel.Data.Sql.Expressions.SqlExpression的用法示例。


在下文中一共展示了SqlExpression.ToString方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddCheck

        public static void AddCheck(this ITransaction transaction, ObjectName tableName, SqlExpression expression,
			ConstraintDeferrability deferrability, string constraintName)
        {
            var tn = SystemSchema.CheckInfoTableName;
            var t = transaction.GetMutableTable(tn);
            int colCount = t.TableInfo.ColumnCount;

            try {
                byte[] binExp;
                using (var stream = new MemoryStream()) {
                    using (var writer = new BinaryWriter(stream, Encoding.Unicode)) {
                        SqlExpression.Serialize(expression, writer);
                        writer.Flush();

                        binExp = stream.ToArray();
                    }
                }

                // Insert check constraint data.
                var uniqueId = transaction.NextTableId(tn);
                constraintName = MakeUniqueConstraintName(constraintName, uniqueId);
                var rd = t.NewRow();
                rd.SetValue(0, uniqueId);
                rd.SetValue(1, constraintName);
                rd.SetValue(2, tableName.ParentName);
                rd.SetValue(3, tableName.Name);
                rd.SetValue(4, expression.ToString());
                rd.SetValue(5, (short)deferrability);
                if (colCount > 6) {
                    rd.SetValue(6, DataObject.Binary(new SqlBinary(binExp)));
                }

                t.AddRow(rd);

            } catch (ConstraintViolationException e) {
                // Constraint violation when inserting the data.  Check the type and
                // wrap around an appropriate error message.
                if (e.ErrorCode == SqlModelErrorCodes.UniqueViolation) {
                    // This means we gave a constraint name that's already being used.
                    throw new InvalidOperationException("Check constraint name '" + constraintName + "' is already being used.");
                }
                throw;
            }
        }
开发者ID:furesoft,项目名称:deveeldb,代码行数:44,代码来源:TransactionConstraintExtensions.cs

示例2: AddCheck

        public static void AddCheck(this ITransaction transaction, ObjectName tableName, SqlExpression expression,
			ConstraintDeferrability deferrability, string constraintName)
        {
            var tn = SystemSchema.CheckInfoTableName;
            var t = transaction.GetMutableTable(tn);
            int colCount = t.TableInfo.ColumnCount;

            try {
                byte[] binExp;
                using (var stream = new MemoryStream()) {
                    using (var writer = new BinaryWriter(stream, Encoding.Unicode)) {
                        SqlExpression.Serialize(expression, writer);
                        writer.Flush();

                        binExp = stream.ToArray();
                    }
                }

                // Insert check constraint data.
                var uniqueId = transaction.NextTableId(tn);
                constraintName = MakeUniqueConstraintName(constraintName, uniqueId);
                var rd = t.NewRow();
                rd.SetValue(0, uniqueId);
                rd.SetValue(1, constraintName);
                rd.SetValue(2, tableName.ParentName);
                rd.SetValue(3, tableName.Name);
                rd.SetValue(4, expression.ToString());
                rd.SetValue(5, (short) deferrability);
                if (colCount > 6) {
                    rd.SetValue(6, Field.Binary(new SqlBinary(binExp)));
                }

                t.AddRow(rd);

            } catch (UniqueKeyViolationException) {
                throw new InvalidOperationException("Check constraint name '" + constraintName + "' is already being used.");
            }
        }
开发者ID:deveel,项目名称:deveeldb,代码行数:38,代码来源:TransactionConstraintExtensions.cs


注:本文中的Deveel.Data.Sql.Expressions.SqlExpression.ToString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。