努力从数据库中获取XML以在表格或网格上的表单上显示

时间:2015-11-25 09:00:21

标签: c# asp.net sql-server linq

我一直在修复我已经存储在sql server中的XML字段中的XML数据,现在我需要在网页/表单中显示信息,以便向用户提供有关存储的报告xml数据的信息,以下是我的尝试,它抛出一个索引0异常

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Data;
using System.Xml.Linq;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        XmlDocument xdoc = new XmlDocument();
        SqlConnection cnn = null;
        SqlCommand cmd = null;



        try
        {
            cnn = new SqlConnection();
            cnn.ConnectionString = "ICDBConnectionString";
            cnn.Open();

            string selectQry = "WITH XMLNamespaces('TUReport' AS Debtor) SELECT* FROM TUReport WHERE ConsumerID = @ID FOR XML RAW('TUReport');";
            cmd = new SqlCommand(selectQry, cnn);
            int ID = Convert.ToInt32(txtIDNumber.Text);
            cmd.Parameters.AddWithValue("@ID", ID);

            DataSet dataset = new DataSet();

            //System.IO.StringReader xmlSR = new System.IO.StringReader(cmd)

            XmlReader reader = cmd.ExecuteXmlReader();

            dataset.ReadXml(reader, XmlReadMode.ReadSchema);

            results.DataSource = reader;
            results.DataBind();
            cnn.Close();


            //if (reader.Read())

            //    xdoc.Load(reader);


        }

        catch (Exception ex)
        {
            throw ex;
        }

        finally
        {
            cmd.Dispose();
            cnn.Close();
        }

    }
}

1 个答案:

答案 0 :(得分:0)

SQL之间缺少一个空格'选择'和' '。 (选择 FROM TUReport)

相关问题