none
有什么方法或者插件可以查看使用了参数的SqlCommand最后执行时生成的sql语句 RRS feed

  • 问题

  • 比如说这样的代码:

    var cmd=new cnn.CreateCommand() ;
    
    cmd.CommandText="insert into tbl values(@aaa,@bbb)";
    
    cmd.Parameters.Add("@aaa",typeof(string));
    cmd.Parameters.Add("@bbb",typeof(string));
    
    cmd.Parameters["@aaa"].value="str1";
    cmd.Parameters["@bbb"].value="str2";
    
    
    cmd.ExecuteNonQuery();
    
    
    有什么方法或者插件可以看到cmd对象,最后执行时,使用的sql语句呢?

     

     


    2010年6月24日 2:29

答案

  • 你看到原来那个字符串就是发给数据库的SQL。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年6月24日 12:17
    版主

全部回复

  • 直接输出cmd不行吗?

    2010年6月24日 3:13
  • 直接输出cmd?cmd.CommandText这个属性读取出来的值还是原来的那个字符串啊
    2010年6月24日 8:21
  • 你看到原来那个字符串就是发给数据库的SQL。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年6月24日 12:17
    版主
  • 你看到原来那个字符串就是发给数据库的SQL。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP

    你说的这个字符串是指“CommandText="insert into tbl values(@aaa,@bbb)";”???

    我们想看到的是去掉@aaa这些Parameter后最后的SQL执行语句。

    如果看不到,那能否告知这两个替代办法:

    1,数据库里在哪里可以设置查看接收到的SQL语句?

    2,sqlComman的_items[] 各个值怎么调用? cmd.Parameters.IndexOf(0). 好像不行没有ValueOf方法可以调用。

    2012年9月23日 4:35