如何获取SQL中Print语句输出内容

 我来答
哎呀……18a91a6
推荐于2017-12-16 · TA获得超过4.2万个赞
知道大有可为答主
回答量:7246
采纳率:76%
帮助的人:3042万
展开全部

1、SQL中Print语句用于调试,所以,它输出的内容属于调试信息,类似于出错信息。

2、在不同的编程中,获取调试信息的,方法不同。此外,很少有人用Print作正常的输出,当然,在调试过程中用除外。要输出时,一般用Select语句来得方便一些。多组信息需要输出时,先生成一个临时表,然后向临时表添加,最后把总的临时表数据向前端推送即可。

3、VB中的方法供参考,VB是最容易看懂的吧,别的编程语言请借鉴:

SqlConnection cn = new SqlConnection("server=my\\my2005;database=rdwhdata2005;user id=zjh;password=321321");
        List<string> lis = new List<string>();
        void info(object o, SqlInfoMessageEventArgs ar)
        {
            foreach (SqlError r in ar.Errors)
            {
                //MessageBox.Show(r.Message);
                lis.Add("从 SQL Server 中获取一个数值错误代码,它表示错误、警告或“未找到数据”消息。"+r.State.ToString());
                lis.Add("获取生成错误的提供程序的名称。"+r.Source.ToString());
                lis.Add("获取生成错误的 SQL Server 实例的名称。"+r.Server.ToString());
                lis.Add("获取生成错误的存储过程或远程过程调用 (RPC) 的名称。"+r.Procedure.ToString());
                lis.Add("获取一个标识错误类型的数字。"+r.Number.ToString());
                lis.Add("获取对错误进行描述的文本。"+r.Message.ToString());
                lis.Add("从包含错误的 Transact-SQL 批命令或存储过程中获取行号。"+r.LineNumber.ToString());
                lis.Add("获取从 SQL Server 返回的错误的严重程度。"+r.Class.ToString());
            }
        }
        /* 测试存储过程中的Print打出的错误信息
            create proc testproc
            as
            print 'this is test textproc';     
         */

        private void button1_Click(object sender, EventArgs e)
        {
            cn.InfoMessage += new SqlInfoMessageEventHandler(info);
            cn.Open();
            SqlCommand cmd = new SqlCommand("testproc", cn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.ExecuteNonQuery();
            cn.Close();
            //执行完后就有 MessageBox.Show(r.Message);的结果
            for (int i = 0; i < lis.Count; i++)
            {
                listBox1.Items.Add(lis[i].ToString());
            }
        }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式