在类里SQL语句有什么办法,使语句输出来. 复制到SQL查询器来验证语句是否正确。
我在类里代码如下:       public bool AddComment(Comment c)
       {
           string sql = "insert into comment(newsid,[content],userip) values(@newsID,@content,@userIP)";           SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@newsID",c.NewsId),new SqlParameter("@content",c.Content),new SqlParameter("@userIP",c.UserIP)};
           if (sqlhelper.ExecuteNonQuery(sql, paras,CommandType.Text) > 0)
           {
               return true;
           }
           return false;
       }
问题:有什么办法输出SQL=“insert语句”到WEB页面上,再从WEB页面复制出来到SQL查询器验证呢?

解决方案 »

  1.   

    这个真没必要输出 
    你既然是用的.net  调试的时候 查看临时变量不就行了或许你觉得语句了用了SQL参数 不方便 那你自己定义一个变量 拼接SQL不也一样
      

  2.   

    我直接在类文件里加入该语句,虽然没提示任何报错信息,但我在WEB页面上看不到 SQL输出的语句啊?
    那位高手在指点。
      

  3.   

    HttpContext.Current.Response.WriteLine(sql);
      

  4.   

    写文本日志呗,然后打开文件,不就能看到SQL语句了。这个一般不会错吧,这么简单的SQL操作,如果真出现错误了,在SQL语句那加上一个断点,然后debug调试一下,在监视器中不就是可以看到这个SQL语句了嘛
      

  5.   

    调试是可以,不过不直观,还要一个个地看Parameter集合的值。
    其实楼主想要的是把sql语句中的参数替换为Parameter的value之后再输出,用程序中直接replace也可以的,不过要注意下不同类型的格式,比如string型的参数要加单引号,datetime型的参数要根据数据库服务器的时间和区域选项输入不同的格式等等。就像#2楼说的,你执行的sql语句还是这样用参数化的,你再另外输出一条拼接的sql语句也可以啊。
      

  6.   

    你说的很对,我的意思想SQL语句里参数替换了,在通过SQL拼接输出,请问如何拼接?谁能指导清楚些?
      

  7.   

    我的意思想SQL语句里参数替换了,在通过SQL拼接输出
    高手们,还有答案吗?
      

  8.   

    楼主是想 如果SQL语句 出错了就输出到页面上或者日志里,然后再转到 SQLSERVER 查询器中来查看是这个意思吗?  没理解错的话 自己想办法写个小工具来实现吧。看看sqlserver有没有提供这样的API,或者调用sqlserver的API 
      

  9.   

    在sql查询分析器中:
    @newsID int,
    @Content text,
    @userIP varchar(20)
    begin
    declare @sql varchar(200)
    set @sql="insert into comment(newsid,[content],userip) values(@newsID,@content,@userIP)"
    exec(@sql)
    end
    这样执行一下,看如果能插入库中,说明语法没有问题。
      

  10.   

    HttpContext.Current.Response.WriteLine(sql); 
    4楼正解,类里面可以直接输出到web页的。
      

  11.   

    我试过了,可以输出来,但输出语句是这样。
    insert into comment(newsid,[content],userip) values(@newsID,@content,@userIP)
    我希望values值是传递过来的值,显示出来。
    还有哪位高位有新找吗?
    有几位高手说“断点”调试,但不知如何操作?
      

  12.   

    Response.WriteLine()
    有这么个方法!~?
      

  13.   

    这种方法是可以。
    能直接输出在WEB页面的SQL语句,那是最好。 一看就更直观啊。  哈哈
      

  14.   

    你需要的是:事件探查器-SQL Server Profiler
      

  15.   

    把你的SQL放数据库客户端里面直接运行看看是否正确