使用存储过程获取大量JSON结果 - 紧急! [英] Getting large volume of JSON result using stored procedure - URGENT!

查看:65
本文介绍了使用存储过程获取大量JSON结果 - 紧急!的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hi Team,


我们正在使用以下查询检索记录。


CREATE PROCEDURE ListAllHistoryWallBySearch

AS

BEGIN

 

    SELECT * FROM HistoryWall 

    WHERE 

    Isdeleted = 0 

    FOR JSON PATH,INCLUDE_NULL_VALUES



结束




C#.NET代码如下:


----------------------------------------------- -------------------------------------------------- -


StringBuilder mJsonResponse = new StringBuilder(10 * 100 * 1024);

mJsonResponse.Clear();

using(SqlDataReader reader = SqlHelper .ExecuteReader(ConnectionString," [ListAllHistoryWallBySearch]",new object [0]))

{

    if(reader.HasRows)

    {

        while(reader.Read())

        {

            mJsonResponse.Append(reader [0] .ToString());

       }

   }

    else

    {

    mJsonResponse.Append(" []");

   }

}

返回mJsonResponse.ToString();

------------------------------------------- -------------------------------------------------- -----


请告知上面的代码好吗? 


问题:

1. Json Result的最大值是否适合字符串生成器?

2.如何在C#中处理大量的json结果客户端?




问候

Kannan







ERS ​​

解决方案

嗨如何从OneDrive访问读写文件,


感谢您发布此处。


>> 1.字符串生成器可容纳的Json Result的最大值是什么?


stringBuilder的最大容量  是  < a href ="https://msdn.microsoft.com/en-us/library/system.int32.maxvalue(v=vs.110).aspx"> Int32 MaxValue
但是,此值是特定于实现的,在其他或更高版本的实现中可能有所不同。您可以明确设置最大容量 
StringBuilder   object
通过调用 
StringBuilder (Int32,Int32)  构造函数。


有关详细信息,请参阅MSDN文章。


https://msdn.microsoft.com/en-us/library/system.text.stringbuilder.maxcapacity%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396


>> 2.如何在C#客户端处理大量的json结果?


你想对json结果做什么?


正常情况下,我们总是使用  Json.NET 解析json文件。或者你可以使用  JsonValue
Class


对于网络,您可以使用  DataContractJsonSerializer
Class
。对于silverlight,您可以使用 
JavaScriptSerializer
班级
JsonArray Class ,  JsonObject
Class


最好的问候,


Wendy


Hi Team,

We are retrieving the records using the following query.

CREATE PROCEDURE ListAllHistoryWallBySearch
AS
BEGIN
 
   SELECT * FROM HistoryWall 
   WHERE 
   Isdeleted = 0 
   FOR JSON PATH, INCLUDE_NULL_VALUES

END


C#.NET CODE as follows:

--------------------------------------------------------------------------------------------------

StringBuilder mJsonResponse = new StringBuilder(10*100*1024);
mJsonResponse.Clear();
using (SqlDataReader reader = SqlHelper.ExecuteReader(ConnectionString, "[ListAllHistoryWallBySearch]", new object[0]))
{
   if (reader.HasRows)
   {
       while (reader.Read())
       {
           mJsonResponse.Append(reader[0].ToString());
       }
   }
   else
   {
    mJsonResponse.Append("[]");
   }
}
return mJsonResponse.ToString();

--------------------------------------------------------------------------------------------------

Please advise the above code OK? 

Questions:
1.What is the maximum of Json Result accomidate to string builder?
2.How to handle large volume of json results in C# client side?


Regards
Kannan



ERS

解决方案

Hi How to access read write files from OneDrive,

Thank you for posting here.

>>1.What is the maximum of Json Result accomidate to string builder?

The Max Capacity of stringBuilder is Int32.MaxValue. However, this value is implementation-specific and might be different in other or later implementations. You can explicitly set the maximum capacity of a StringBuilder object by calling the StringBuilder(Int32, Int32) constructor.

For more details, please refer to the MSDN article.

https://msdn.microsoft.com/en-us/library/system.text.stringbuilder.maxcapacity%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

>>2.How to handle large volume of json results in C# client side?

What do you want to do for json results?

In normal, we always use Json.NET to parse json file. Or you could use JsonValue Class.

For web, you could use DataContractJsonSerializer Class. For silverlight, you could use JavaScriptSerializer ClassJsonArray ClassJsonObject Class.

Best Regards,

Wendy


这篇关于使用存储过程获取大量JSON结果 - 紧急!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆