Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3132
  • 博文数量: 4
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-16 15:50
文章分类
文章存档

2014年(4)

我的朋友
最近访客

分类: C#/.net

2014-03-19 22:10:59

  在前面我已经写了asp的版本,最近一个项目中正好需要用json来填充下拉框,所以写了一个asp.net的将数据库里的记录转换成json,代码如下:

  以下是引用片段:

  using System;

  using System.Collections.Generic;

  using System.Text;

  using System.Data;

  using System.Data.SqlClient;

  namespace OTC.Utility

  ...{

  public sealed class JSONHelper

  ...{

  /**////

  /// 获取JSON字符串

  ///

  /// 值

  /// 数据表名

  ///

  public static string GetJSON(SqlDataReader drValue, string strTableName)

  ...{

  StringBuilder sb = new StringBuilder();

  sb.AppendLine("{");

  sb.AppendLine(" " + strTableName + ":{");

  sb.AppendLine(" records:[");

  try

  ...{

  while (drValue.Read())

  ...{

  sb.Append(" {");

  for (int i = 0; i < drValue.FieldCount; i++)

  ...{

  sb.AppendFormat(""{0}":"{1}",", drValue.GetName(i), drValue.GetValue(i));

  }

  sb.Remove(sb.ToString().LastIndexOf(’,’), 1);

  sb.AppendLine("},");

  }

  sb.Remove(sb.ToString().LastIndexOf(’,’), 1);

  }

  catch(Exception ex)

  ...{

  throw new Exception(ex.Message);

  }

  finally

  ...{

  drValue.Close();

  }

  sb.AppendLine(" ]");

  sb.AppendLine(" }");

  sb.AppendLine(" };");

  return sb.ToString();

  }

  }

  }

  接下来你只需要传一个SqlDataReader对象就可以了。

阅读(320) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~