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