使用存储过程获取大量JSON结果 - 紧急! [英] Getting large volume of JSON result using stored procedure - URGENT!
问题描述
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文章。
>> 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 ListAllHistoryWallBySearchAS
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.
>>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 Class, JsonArray Class, JsonObject Class.
Best Regards,
Wendy
这篇关于使用存储过程获取大量JSON结果 - 紧急!的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!