[英]Deserialize JSON string with Date Headings - C# - No JSON.Net
[英]Creating Json string in C# with column headings
下面的代码运行完美,但是我想知道一种将列标题也拉出来的方法吗? 如果可能,我希望在while循环中使用它。 希望这里有人可以提供帮助。
谢谢,詹姆斯。
namespace WorldViewNet.include
{
public class ImageHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
object data = LoadAPI(context);
string jsonData = JsonConvert.SerializeObject(data);
context.Response.Write(jsonData);
}
public List<object[]> LoadAPI(HttpContext context)
{
List<object[]> list = new List<object[]>();
SqlConnection sqlConnection1 = new SqlConnection(globalLibrary.NewConnectionString);
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
string tablename = context.Request.QueryString["tablename"];
string maybeID = context.Request.QueryString["ID"];
cmd.CommandText = "SELECT * FROM " + tablename;
if (maybeID != null)
{
cmd.CommandText += " WHERE " + tablename + "ID =" + maybeID;
}
cmd.CommandType = CommandType.Text;
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
reader = cmd.ExecuteReader();
while (reader.Read())
{
object[] row = new object[23];
reader.GetValues(row);
list.Add(row);
}
sqlConnection1.Close();
return list;
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
您应该能够简单地做到这一点:
reader = cmd.ExecuteReader();
var columns = Enumerable.Range(0, reader.FieldCount).Select(reader.GetName).ToList();
columns
应该是所有列名称的立即列出。
如果您需要非Linq方法来执行此操作:
reader = cmd.ExecuteReader();
var columns = new List<string>();
for(int z=0;z<reader.FieldCount;z++)
{
columns.Add(reader.GetName(z));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.