SQL sætning & substring
Hej.. håber nogle kan hjælpe med følgende..skal have udskrevet de 5 nyeste overskrifter [Overskrift] hentet fra tabellen [nyhedsTabel], men antallet af tegn for overskrifterne skal begrænses til fx 30 tegn, efterfulgt af "..", ligesom man fx ser det på: (http://xplayn.com/) under scenenyheder og debat. Bruger datalist, og udskriver med labels i itemtemplates.
Har kigget på to muligheder, enten at tilføje ".ToString().Substring(0,30)" i label'en, eller at tilføje "substring(0,30)" i SQL sætningen.
Første mulighed virker kun når der er få tegn som max. Sætter jeg tallet for højt får jeg fejlbeskeden: "System.ArgumentOutOfRangeException: Index and length must refer to a location within the string." som jeg ikke har fundet løsningen på.
Linjen jeg lavede:
Text='<%# Eval("Overskrift").ToString().Substring(0,30) + ".." %>'
Anden mulighed kræver hjælp fra jer.
Fandt denne side: (http://www.1keydata.com/sql/sql-substring.html)
der viser et eksempel med substring i sql sætninger.
Nuværende sql sætning er følgende:
SelectCommand="SELECT TOP 5 [Id], [DatoNu], [Overskrift], [Type] FROM [nyhedsTabel] WHERE ([Type] = ?) ORDER BY [Id] DESC"
men kan ikke få lavet en sætning der virker med substring. :(
herunder er den relevante kode:
---------------
<asp:AccessDataSource ID="AccessDataSource1" runat="server"
DataFile="~/App_Data/NFNDB.mdb"
SelectCommand="SELECT TOP 5 [Id], [DatoNu], [Overskrift], [Type] FROM [nyhedsTabel] WHERE ([Type] = ?) ORDER BY [Id] DESC">
<SelectParameters>
<asp:Parameter DefaultValue="3" Name="Type" Type="String" />
</SelectParameters>
</asp:AccessDataSource>
<asp:DataList ID="DataList1" runat="server" DataSourceID="AccessDataSource1" DataKeyField="Id" CellSpacing="6" Width="185px">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="#nogo">
<asp:Label ID="OverskriftLabel" runat="server" Font-Bold="true" ForeColor="#000000" Text='<%# Eval("Overskrift") + ".." %>'>
</asp:Label><br />
</asp:HyperLink>
</ItemTemplate>
</asp:DataList>
---------------
Har også prøvet at sætte width="185px" på datalisten, men hjælper ikke, da overskrifterne uden tegn begrænsning bare vil gå udover feltet.