在C#

时间:2017-05-17 06:23:48

标签: c# sql asp.net json xml

我正在尝试使用此代码,但它给了我错误,我只想使用数据表而不是数据集

 [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public DataTable NameArray()
        {
            DataTable imageTable = new DataTable("gcm");
            // imageTable.Columns.Add("image_name", typeof(String));
            imageTable.Columns.Add("username", typeof(String));
            imageTable.Columns.Add("gcmkey", typeof(String));
            if (con.State.ToString() == "Closed")
            {
                con.Open();
            }
            string query = "SELECT * from gcm";
            SqlCommand command = new SqlCommand(query, con);

            SqlDataReader reader = command.ExecuteReader();
            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    imageTable.Rows.Add(reader["username"],reader["gcmkey"]);
                }
            }
          this.Context.Response.ContentType = "application/json; charset=utf-8";
            this.Context.Response.Write(json.Serialize(new { PersonalProfile = reader }));
            reader.Close();
            con.Close();
            return imageTable; }

错误告诉我:

 This page contains the following errors:

error on line 1 at column 1: Document is empty
Below is a rendering of the page up to the first error.

那么,如何从数据表中获取数据,而不是从数据集中获取数据?

2 个答案:

答案 0 :(得分:1)

你读过这个例外吗?

  

无法序列化DataTable。未设置DataTable名称。

给你的桌子命名:

DataTable imageTable = new DataTable("tableName");

答案 1 :(得分:0)

您需要为数据表指定名称 您应该为数据table.pls设置名称的错误状态。 e.g

dt.TableName = "myTable";
dt.WriteXml(@"path", true);