当前位置: 首页 > 面试题库 >

从C#.NET的DataTable到JSON

叶鸿振
2023-03-14
问题内容

我是C#和.NET的新手,但是我编写了此代码来调用存储过程,然后我想获取返回的DataTable并将其转换为JSON。

    SqlConnection con = new SqlConnection("connection string here");
    SqlDataAdapter da = new SqlDataAdapter();
    SqlCommand cmd = new SqlCommand("getDates", con);
    SqlParameter par = new SqlParameter("@PlaceID", SqlDbType.Int);
    par.Value = 42;
    da.SelectCommand = cmd;
    cmd.Parameters.Add(par);
    DataSet ds = new DataSet();
    DataTable dt = new DataTable();

    con.Open();

    try{
        cmd.CommandType = CommandType.StoredProcedure;
        da.Fill(ds);
    }

那么我的问题是最好/最简单的方法是什么?一个例子很好,因为我对此还很陌生。


问题答案:

代替数据表,您应该使用数据读取器。您的代码效率低下,而且有点难以阅读-您可能需要执行以下操作:

StringBuilder json = new StringBuilder();

using(SqlConnection cnn = new SqlConnection(your_connection_string)) 
{
    cnn.open();

    using(SqlCommand cmd = new SqlCommand("name_of_stored_procedure", cnn)) 
    {
        cmd.Paramters.AddWithValue("@Param", "value");

        using(SqlDataReader reader = cmd.ExecuteReader()) 
        {
            while(reader.Read()) 
            {
                json.AppendFormat("{{\"name\": \"{0}\"}}", reader["name"]);
            }
        }
    }

    cnn.close();
}

然后,您可以使用json.ToString该信息



 类似资料:
  • 问题内容: 我想将DataTable作为Json格式显示在图表上。 如何将DataTable转换为Json? 谢谢。 问题答案: 您可以使用JSON.NET将数据表(在许多其他类型中!)自动序列化为JSON。

  • 我有一个存储过程叫做 我试图将它们的结果存储在数据表中。 它会导致以下错误: 系统。数据。Odbc。ORA-00900:无效的SQL语句 在ConexionBD.ConnectAndQuery(stringlayername、decimalidelemento、stringidelementostring、stringconexion)。 我的代码:

  • Net-C 是一个跨平台的局域网聊天工具,支持表情、私信,设置用户状态、群组聊天等功能。 主界面如下图所示

  • 响应式编程是一种基于异步数据流概念的编程模式。数据流就像一条河:它可以被观测,被过滤,被操作,或者为新的消费者与另外一条流合并为一条新的流。 响应式编程的一个关键概念是事件。事件可以被等待,可以触发过程,也可以触发其它事件。事件是唯一的以合适的方式将我们的现实世界映射到我们的软件中:如果屋里太热了我们就打开一扇窗户。同样的,当我们更改电子表(变化的传播)中的一些数值时,我们需要更新整个表格或者我们

  • JSF为开发人员提供了强大的功能来定义他们自己的自定义组件,可用于呈现自定义内容。 定义自定义组件 在JSF中定义自定义组件的过程分为两步。 步 描述 1a 创建资源文件夹。 使用复合命名空间在resources文件夹中创建xhtml文件。 1b 使用复合标签composite:interface, composite:attribute和composite:implementation,来定义复

  • JSF提供了一个名为DataTable的丰富控件来呈现和格式化html表。 DataTable可以迭代一个集合或值数组来显示数据。 DataTable提供了以简单方式修改其数据的属性。 HTML标头 <html xmlns = "http://www.w3.org/1999/xhtml" xmlns:h = "http://java.sun.com/jsf/html"> </h