Om datalist inte innehåller något skriva ut felmeddelande

.NET

3 svar · 147 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Trådstart#1

Tjo

Jag ska skriva ut personliga uppgifter, jag binder datat till en datalist som ser ut så här

<asp:DataList ID="usrAwards" Runat="server" BorderWidth ="0">
<headertemplate>
<table width="194" border="0" cellspacing="0" cellpadding="0">
</headertemplate>
<ItemTemplate>
<tr><td width="14" class="BrodTextIndrag"><img src="BIN/Images/Icons/Icn_LocalAward.gif"></td>
<td width="180" valign="middle">&nbsp;<a href="Award_Visa.aspx?IntAwardId=<%# DataBinder.Eval(Container.DataItem, "Pk_AwardLinkId") %>" class="BrodText"><%# DataBinder.Eval(Container.DataItem, "AwardName") %> <%# DataBinder.Eval(Container.DataItem, "AwardYear") %></a> </td>
</tr>
</ItemTemplate>	  
<footertemplate>
</table>
</footertemplate>
</asp:DataList>

Jag binder datan på följande sätt

Dim awardDataset AS DataSet = new DataSet()
Dim mySqlAdapter As SqlDataAdapter = new SqlDataAdapter(strSQL,myConnection)
mySqlAdapter.Fill(awardDataset,"usrAwards")
usrAwards.DataSource = awardDataset
usrAwards.DataBind()

Om jag inte får någe resultat av sqlfrågan så skriver den ju inte ut någonting som det är idag, jag skulle vilja att den skrev ut ett felmeddelande i datalisten istället för att vara helt tomt. Går det att åstakomma och hur fean då. Tänkte det vore smutt om det hade haft ett "noresulttemplate" eller något men tji fick jag.
tacksam!

Medlem sedan mars 20023 561 inlägg
#2

Du kan ju använda en if-sats:

Dim awardDataset AS DataSet = new DataSet()
Dim mySqlAdapter As SqlDataAdapter = new SqlDataAdapter(strSQL,myConnection)
mySqlAdapter.Fill(awardDataset,"usrAwards")
If awardDataSet.Rows.Count = 0 Then
    Response.Write("Error")
Else
    usrAwards.DataSource = awardDataset
    usrAwards.DataBind()
End If

Eller något liknande...

Medlem sedan dec. 19996 522 inlägg
#3

Man kan väll inte köra en rowcount på ett dataset

Medlem sedan dec. 19996 522 inlägg
#4

Jag lyckades lösa det, tack josef

If awardDataSet.Tables("usrAwards").Rows.Count = 0 Then

260 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)