无法隐式转换类型System.Data.DataSet'到'字符串'在服务器端访问Div

时间:2014-05-27 13:55:00

标签: c# asp.net c#-4.0 data-access

我将在服务器端访问我的Div,然后我需要将数据绑定到该div

我的代码:

 <div id="leftpanel" class="panel-body" runat="server">
                </div>

服务器端代码:

public void GetLeftPanelData()
{
    DataAccess da = new DataAccess();
    leftpanel.InnerText = da.GetLeftPanelData(); // <-- Error Shown here
}

数据访问方法

public DataSet GetLeftPanelData()
{
    try
    {
        SqlCommand comGetLeftPanelData = new SqlCommand("SP_GetLeftPanelData", con);
        comGetLeftPanelData.CommandType = CommandType.StoredProcedure;
        SqlDataAdapter da = new SqlDataAdapter(comGetLeftPanelData);
        DataSet ds = new DataSet();
        con.Open();
        da.Fill(ds);
        con.Close();
        return ds;
    }
    catch (Exception ee)
    {
        throw ee;
    }
}

我的存储过程

ALTER PROCEDURE [dbo].[SP_GetLeftPanelData]

AS
BEGIN
select Description 
from dbo.CommonPages
where Type= 6
END

这是返回编码的HTML ![在此输入图像说明] [1]

在此查询中只返回1行字符串,如“Hello test data”

2 个答案:

答案 0 :(得分:2)

假设我在更新后的问题中看到的内容是正确的,我建议您使用ExecuteScalar()

当您的查询仅返回单个数据时,将使用此选项。在这种情况下,您的查询看起来只返回一行,只有列描述。如果这是正确的,那么你可以这样做:

public string GetLeftPanelData()
{
    try
    {
        SqlCommand comGetLeftPanelData = new SqlCommand("SP_GetLeftPanelData", con);
        comGetLeftPanelData.CommandType = CommandType.StoredProcedure;
        con.Open();
        string returnData = (string)comGetLeftPanelData.ExecuteScalar();
        con.Close();
        return returnData;
    }
    catch (Exception ee)
    {
        throw ee;
    }
}

答案 1 :(得分:1)

如果您必须使用此方法(我建议不要),请将您的方法更改为:

public string GetLeftPanelData()
{
    try
    {
        SqlCommand comGetLeftPanelData = new SqlCommand("SP_GetLeftPanelData", con);
        comGetLeftPanelData.CommandType = CommandType.StoredProcedure;
        SqlDataAdapter da = new SqlDataAdapter(comGetLeftPanelData);
        DataSet ds = new DataSet();
        con.Open();
        da.Fill(ds);
        con.Close();
        return ds.Tables[0].Rows[0]["Description"].ToString();
    }
    catch (Exception ee)
    {
        throw ee;
    }
}