我正在尝试使用此代码,但它给了我错误,我只想使用数据表而不是数据集
[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.
那么,如何从数据表中获取数据,而不是从数据集中获取数据?
答案 0 :(得分:1)
你读过这个例外吗?
无法序列化DataTable。未设置DataTable名称。
给你的桌子命名:
DataTable imageTable = new DataTable("tableName");
答案 1 :(得分:0)
您需要为数据表指定名称 您应该为数据table.pls设置名称的错误状态。 e.g
dt.TableName = "myTable";
dt.WriteXml(@"path", true);