2017-12-15 6 views
1

これはデータをdatareaderで返すコードですが、結果列の代わりにjson出力を返します。 JSON myReaderを返すように変更する必要はありますか?JSONでデータリーダーを返す

if (key.Equals("1")) 
     { 
      Console.WriteLine("Enter Command to retrieve data"); 
      String sql = Console.ReadLine(); 
      if (String.IsNullOrEmpty(sql)) 
      { 
       Console.WriteLine("invaild command"); 
       return; 
      } 
      try 
      { 
       SqlDataReader datareader = sh.ExecuteReader(sql, conn); 
       if (datareader.Read()) 
       { 
        while (datareader.Read()) 
        { 
         for (int index = 0; index < datareader.FieldCount; index++) 
         { 
          Console.WriteLine(datareader.GetValue(index)); 
         } 
        } 
       } 
       else 
       { 
        Console.WriteLine("unable to find the data"); 
       } 
       datareader.Close(); 
      } 
+0

使用しているSQL Serverバージョンのタグを追加します。 –

答えて

0

最後に、追加のJSON PATHを追加します。 JSONのPATH

enter image description here

とJSONのPATH

enter image description here

結果がなければ、この

SELECT TOP 2 
    SalesOrderNumber, 
    OrderDate, 
    (SELECT UnitPrice, OrderQty 
     FROM Sales.SalesOrderDetail AS D 
     WHERE H.SalesOrderID = D.SalesOrderID 
    FOR JSON PATH) AS D 
FROM Sales.SalesOrderHeader AS H 
FOR JSON PATH 

結果のような別の例を参照してください

enter image description here

これを参照MSDN Article for more details

関連する問題