gpt4 book ai didi

c# - Dapper 返回单值

转载 作者:行者123 更新时间:2023-11-30 14:25:37 26 4
gpt4 key购买 nike

我想执行这个简单的测试来查看表是否存在。我认为根据表是否存在返回一个 int 值会很容易。

以下是我尝试过但不起作用的方法:

result = connection.ExecuteScalar<int>(@"
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = '@tableSchema'
AND TABLE_NAME = '@tableName'))
RETURN 0;


RETURN 1;
", new { tableSchema, tableName });

错误信息:

A RETURN statement with a return value cannot be used in this context.

这真的是点头......

最佳答案

ExecuteScalar

executes the query, and returns the first column of the first row in the result set returned by the query.

它不返回你的SQL语句的返回值。你可以简单地使用

SELECT 1
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = @tableSchema
AND TABLE_NAME = @tableName

然后您可以使用 ExecuteScalar,如果表存在,它将返回 1。请注意,我还更正了您在 SQL 语句中的参数。它们不得由 ' 分隔。

关于c# - Dapper 返回单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37677285/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com