在SQL Server中连接多个列

时间:2015-08-31 08:49:36

标签: c# asp.net sql-server

我有一个查询,我必须在其中添加多个列。

查询结果存储DataTable并将其绑定到Repeater。但问题是DataTable显示的是列名,而不是我在查询中指定的名称。

HTML(Persons.aspx):

<body>
    <form id="form1" runat="server">

             <h1><b>Persons</b></h1>
        <div style="float:right">
            <asp:LinkButton ID="lnkAdd" runat="server" Text="Add" Style="margin-right:100px"></asp:LinkButton>
        </div>
            <br />
            <br />
        <asp:Repeater ID="rptPersons" runat="server">
            <ItemTemplate>
                 <div style="float: left">
                <asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Pic") %>' Width="100px" Height="100px" />
            </div>
            <div style="float:left;margin-left:10px;">
                <asp:Label ID="lblName" runat="server" Text='<%# Eval("PersonName") %>'></asp:Label><br />
                <asp:Label ID="lblPost" runat="server" Text='<%# Eval("Post") %>'></asp:Label><br />
                <asp:Label ID="lblLocation" runat="server" Text='<%# Eval("Location") %>'></asp:Label><br />
                <%--<asp:Label ID="lblAge" runat="server" Text='<%# Eval("Age") %>'></asp:Label><br />--%>

            </div>
            </ItemTemplate>
            <SeparatorTemplate>
                <div style="margin-left:20px"></div>
            </SeparatorTemplate>
        </asp:Repeater>
    </form>
</body>

存储过程:

select 
    FirstName as PersonName, 
    ISNULL(Designation,'') + ',' + ISNULL(Organization,'') as Post, 
    ISNULL(tblPersons.City,'') + ',' + ISNULL(tblPersons.State,'') as Location, 
    GETDATE() - tblPersons.dob + '( DoJ :' + '' + ISNULL(tblPersons.doj,'') as Age, 
    tblPersons.photo_name as Pic
from 
    tblpersons

逻辑课程:

public class PersonsLogic
{
        public DataTable GetPersons()
        {
            string Connection = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;

            using(SqlConnection con = new SqlConnection(Connection))
            {
                SqlCommand cmd = new SqlCommand("spGetPersons", con);
                cmd.CommandType = CommandType.StoredProcedure;

                con.Open();
                cmd.ExecuteNonQuery();

                DataTable dt = new DataTable();
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);

                return dt;
            }
        }
    }

Persons.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
            Persons objPerson = new Persons();
            PersonsLogic objLogic = new PersonsLogic();
            DataTable dt = objLogic.GetPersons();

            if (dt.Rows.Count > 0)
            {
                rptPersons.DataSource = dt;
                rptPersons.DataBind();
            }
            else
            {
            }
}

0 个答案:

没有答案