获取字符串中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
命令的输出,因为它不会返回任何可通过SqlDataReader
对象读取的行。
我会考虑一种解决方案,将查询的输出消息存储到一个只有一列varchar
的临时表(例如#outputMessages
)中。当您的查询执行完成时,我将捕获它的输出消息,这些消息存储在#outputMessages
表中,只包含一个SELECT * FROM #outputMessages
。当输出消息捕获过程完成时,只需放下临时表即可。
还请阅读@Corak链接的问题。
所以我用了不同的方式,我声明了一个变量,并在该变量中获取打印语句数据,我在最后一部分选择了该变量,而不是打印该变量。
现在对于C#,我使用altertable.ExecuteScalar
,它将第一行作为字符串返回,所以对我来说,这正是我所需要的。
string altertable1="打印'scfs'";SqlCommand altertable=新的SqlCommand(createtablecommand,connection);
string x=可变。(返回打印的查询结果的功能);