executescalar 返回第一行第一列 
现在我获取xml字符串时 返回值超过一行一列
问下各位怎么解决 我现在改成ExecuteDataset 返回datatable 
然后自己拼接字符串 
感觉这样不怎么好 有没有好的解决办法

解决方案 »

  1.   

    executescalar 只返回第一行第一列  
    要返回多行的,你只能使用ExecuteReader等其他的方法
      

  2.   

    DbCommand.ExecuteScalar 方法 执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。 使用 ExecuteScalar 方法从数据库中检索单个值(例如一个聚合值)。与使用 ExecuteReader 方法然后使用 DbDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少。 
      

  3.   

    ExecuteReader或sqldadataadapter添加数据到dataset
      

  4.   

    我现在是用dataset获取 然后在客户端这边
    自己拼接xml 看来只能先这样了
      

  5.   

    如果是多列的话,直接在Sql里接拼下就可以了,
    多行是不行的。一定要用ExecuteDataset 
      

  6.   

    我返回的xml很长 超过了最大尺寸了 
    现在本地拼接 还可以