how do I check that a SqlDataSource returned data?
Asked Answered
B

2

5

I have an asp.net page that has several SqlDataSources defined that feed data into some graphs. The graph product does not handle "no data" gracefully, and throws an exception. I'd like this to handle the situation -- so I need to check whether the SqlDataSource returned data before rendering the graph (and if not, just post a message saying "No Data" or something).

Is there an easy way to check if the data source returned data, and do this if/then without a bunch of code behind?

Billy answered 9/2, 2010 at 18:1 Comment(0)
L
14

The following is taken from devcurry, which is pretty much what you are looking for.

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
    SelectCommand="SELECT [CustomerID], [CompanyName], [ContactName],
    [ContactTitle], [Address] FROM [Customers]"
    onselected="SqlDataSource1_Selected">
</asp:SqlDataSource>

And in code behind:

Protected Sub SqlDataSource1_Selected(ByVal sender As Object, ByVal e As SqlDataSourceStatusEventArgs)

    If e.AffectedRows < 1 Then

        ' perform action

    End If

End Sub
Leftover answered 9/2, 2010 at 18:20 Comment(2)
thanks JackM-- is it possible to do the if statement in the page, not in the code behind?Billy
Keep in mind that AffectedRows also is 0 when no table is returned at all vs. just a table with zero rows.Unfasten
D
3

try this http://www.devcurry.com/2009/02/how-do-you-check-if-sqldatasource.html

i hope if it helps you ..

Deil answered 9/2, 2010 at 18:6 Comment(1)
thanks for the link AmRosh-- I don't really understand how I would use that however. Could you explain a bit more? Thank youBilly

© 2022 - 2024 — McMap. All rights reserved.