zapytanie do GridView w ASP.NET

0

Witam

Komenda T-SQL wykonuje się poprawnie

SELECT p.[produkt_nazwa], p.[produkt_zdjecie], p.[produkt_producent_id], k.[kat_nazwa] FROM [produkty] p INNER JOIN [kat] k ON k.[kat_id] = p.[produkt_kat_id] ORDER BY p.[produkt_id] DESC

a gridview z tym zapytaniem zwraca pustą tabelę. Dlaczego? kolorowanie składni coś siada

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" DataSourceID="SqlDataSource2">
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT p.[produkt_nazwa], p.[produkt_zdjecie], p.[produkt_producent_id], k.[kat_nazwa] FROM [produkty] p INNER JOIN [kat] k ON k.[kat_id] = p.[produkt_kat_id] ORDER BY p.[produkt_id] DESC" UpdateCommand="UPDATE [produkty] Set [produkt_nazwa]=@produkt_nazwa Where [produkt_id]=@produkt_id" DeleteCommand="DELETE FROM [produkty] Where [produkt_id]=@produkt_id"></asp:SqlDataSource>
0

Być może wystarczy ustawić DataSourceMode="DataReader" w SqlDataSource. Jeśli nie pomoże, to może trzeba jakoś odświeżyć albo zbindować grida odpowiednią metodą.

Czemu w ogóle z tych badziewnych kontrolek korzystasz?

0

Działało to dopóki nie dodalem joina w zapytaniu.

//edit:
Po wstawieniu tego co napisałeś nie działa dalej. Jednak nie jest to wina joina, bo skróciłem zapytanie i nadal pracuję nad problemem.

//edit2:
AutoGenerateColumns="True"

0

Somekind, czekam na lepszą propozycje :P

0

No ja bym po pierwsze użył ORMa, wczytał z bazy obiekty, a potem ich kolekcję przypisał do BindingSource, które bym ustawił na DataSource tej kontrolki.
Ale jak to jest na studia i musi być SqlDataSource, to moje rozwiązanie nie pomoże.

1 użytkowników online, w tym zalogowanych: 0, gości: 1