获取字符串中PRINT sql的输出

本文关键字:输出 sql PRINT 字符串 获取 | 更新日期: 2023-09-27 18:19:39

一个小问题

我正试图通过c#运行一个数据库查询。我正试图在DB上打印一些东西,我想将其作为字符串从C#返回

string altertable1 = "print 'scfs'";
SqlCommand altertable = new SqlCommand(createtablecommand, connection);
string x = altertable.(function which return the printed query result);

所以我想要的是x值将是scfs

获取字符串中PRINT sql的输出

我认为没有一种简单的方法可以捕获PRINT命令的输出,因为它不会返回任何可通过SqlDataReader对象读取的行。

我会考虑一种解决方案,将查询的输出消息存储到一个只有一列varchar的临时表(例如#outputMessages)中。当您的查询执行完成时,我将捕获它的输出消息,这些消息存储在#outputMessages表中,只包含一个SELECT * FROM #outputMessages。当输出消息捕获过程完成时,只需放下临时表即可。

还请阅读@Corak链接的问题。

所以我用了不同的方式,我声明了一个变量,并在该变量中获取打印语句数据,我在最后一部分选择了该变量,而不是打印该变量。

现在对于C#,我使用altertable.ExecuteScalar,它将第一行作为字符串返回,所以对我来说,这正是我所需要的。

string altertable1="打印'scfs'";SqlCommand altertable=新的SqlCommand(createtablecommand,connection);

string x=可变。(返回打印的查询结果的功能);