webForumDet fria alternativet

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

.NET

3 svar · 138 visningar · startad av erka

Medlem sedan dec. 19996 522 inlägg
Frågan#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

268 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)