小编Bur*_*urg的帖子

是否可以使用SqlParameters获取SqlCommand的已解析文本?

我要做的是创建一些带参数的任意sql命令,设置参数的值和类型,然后返回解析的sql命令 - 包含参数.我不会直接对sql数据库运行此命令,因此不需要连接.因此,如果我运行下面的示例程序,我希望看到以下文本(或类似的东西):

WITH SomeTable (SomeColumn)
AS
(
    SELECT N':)'
    UNION ALL
    SELECT N'>:o'
    UNION ALL
    SELECT N'^_^'
)
SELECT SomeColumn FROM SomeTable
Run Code Online (Sandbox Code Playgroud)

示例程序是:

using System;
using System.Data;
using System.Data.SqlClient;

namespace DryEraseConsole
{
    class Program
    {
        static void Main(string[] args)
        {
            const string COMMAND_TEXT = @"
WITH SomeTable (SomeColumn)
AS
(
    SELECT N':)'
    UNION ALL
    SELECT N'>:o'
    UNION ALL
    SELECT @Value
)
SELECT SomeColumn FROM SomeTable
";
            SqlCommand cmd = new SqlCommand(COMMAND_TEXT);
            cmd.CommandText = COMMAND_TEXT;
            cmd.Parameters.Add(new SqlParameter
            {
                ParameterName = …
Run Code Online (Sandbox Code Playgroud)

c# sql-server sqlcommand sqlparameter

15
推荐指数
1
解决办法
8129
查看次数

如何为SQL CLR存储过程提供sql_variant参数?

如何将sql_variant参数添加到SQL CLR存储过程?使用System.Object不起作用,我没有看到任何可以使用的属性.

[Microsoft.SqlServer.Server.SqlProcedure]
public static void ClearOnePartition(
    SqlString aString
    , /* I want this to be a sql_variant */ object aVariant
)
{
    //do stuff here
}
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server stored-procedures sqlclr

5
推荐指数
1
解决办法
3234
查看次数

以允许可为空类型并使用该类型参数声明“KClass<T>”的方式声明函数泛型类型参数

KClass定义为public interface KClass<T : Any> : KDeclarationContainer, KAnnotatedElement, KClassifier

这很棘手,因为 a 的类String?应该是KClass<String>,但不可能获得。

给出下面的 3 个示例(它们本质上应该执行相同的工作),其中 1 个无法编译,其他返回相同的运行时类型。

inline fun <reified T> test1(): Any = T::class
inline fun <reified T: Any> test2(): KClass<T> = T::class
inline fun <reified T> test3(): KClass<T> = T::class // does not compile

test1<String?>() // class kotlin.String
test1<String>() // class kotlin.String
test2<String?>() // does not compile
test2<String>() // class kotlin.String
Run Code Online (Sandbox Code Playgroud)

问题的重点是问:如何获得 的运行时行为和test1的编译时行为(和安全性)test2

编辑:问题的最后一个附录是另一个示例,它演示了获取可为空类型的类的问题。

inline fun <reified T> …
Run Code Online (Sandbox Code Playgroud)

kotlin kotlin-reflect

5
推荐指数
1
解决办法
3287
查看次数

如何在postgres中返回列的旧值INSERT ON CONFLICT DO UPDATE?

我正在尝试在postgres中运行“ upsert”,例如:

INSERT INTO my_table (
    id, -- unique key
    name,
    hash
) VALUES (
    '4b544dea-b355-463c-8fba-40c36ac7cb0c',
    'example',
    '0x0123456789'
) ON CONFLICT (
    id
) DO UPDATE SET
    name = 'example',
    hash = '0x0123456789'
RETURNING
    OLD.hash;
Run Code Online (Sandbox Code Playgroud)

我想返回该hash列的先前值(由于OLD不是有效的表别名,以上示例不是有效的查询)。重要的是,我正在尝试找到一种在负载下不会引起冲突的方法。这有可能吗?还是在事务中执行先写后读的唯一解决方案?

sql postgresql

5
推荐指数
2
解决办法
614
查看次数

如何将一周纳入日历时间层次?

与通常使用多维数据集一样,用户希望层次结构显示不适合层次结构的内容.他们希望将Day> Week> Month> Quarter> Year视为等级,但周数问题是它们可以是1-2个月的一部分,而不仅仅是1个月(并且延长部分2个季度,学期,年份).

所以我的问题是:如何设置属性关系,以及如何设置层次结构?这就是我所拥有的,但我知道这不是最佳选择.

层次结构(周期==周):

等级

属性关系:

属性关系 没有周期 - >年,因为它是多对多的关系

time olap ssas dimensions business-intelligence

3
推荐指数
2
解决办法
4239
查看次数

如何使用 Jackson 将 json 文档的额外属性反序列化到地图或其他字段中?

我在 Kotlin 中定义了一个类/接口对,如下所示:

@JsonDeserialize(`as` = SimpleEvent::class)
interface Event {
    val organizationId: UUID
    val userId: UUID
    val eventTime: LocalDateTime
    val eventId: UUID
    @get:JsonAnyGetter
    @get:JsonAnySetter
    val details: Map<String, JsonNode>
}

data class SimpleEvent(
    override val organizationId: UUID,
    override val userId: UUID,
    override val eventTime: LocalDateTime,
    override val eventId: UUID,
    override val details: Map<String, JsonNode>
) : Event
Run Code Online (Sandbox Code Playgroud)

我的目标是将 json 文档中的任何额外字段转换为地图中的条目details。和注释很有希望,但我找不到一种方法来使用不可@JsonAnyGetter变的构造函数参数。 按预期工作,但似乎被忽略。@JsonAnySetter@JsonAnySetter@JsonAnyGetter@JsonAndSetter

java json jackson kotlin

3
推荐指数
1
解决办法
2781
查看次数