Jo - tak. Tænker nok der er mange muligheder, men hvordan gør jeg? Jeg har eks:
<asp:AccessDataSource ID="SourcePersoner" runat="server" DataFile="~/App_Data/database.mdb" SelectCommand="SELECT id, Fornavn,Efternavn FROM Personer WHERE (id = ?)" > <SelectParameters> <asp:SessionParameter DefaultValue="0" Name="id" SessionField="id" /> </SelectParameters> </asp:AccessDataSource>
Hvordan ser jeg den selectforespørgsel, controllen rent faktisk sender? Hvad skal jeg assigne til en label? Hvad skal jeg gøre i asp.net trace for at få den med?
Synes godt om
Slettet bruger
10. januar 2006 - 06:03#3
Tracing enable ved at sætte Trace="true" i Page-directive. Altså på @Page linien i toppen af din aspx-file, Selve beskederne skriver du med henholdsvis
<%Trace.Warn("stuff") %> eller <%Trace.Write("stuff") %>
I dit konkrete tilfælde ser du jo SQL'en i SelectCommand.
Ikke fordi jeg vil anbefale dig det men du skal stadigvæk <%Response.WriteLine(sql)%> direkte i en ASPX-file hvis sql altså er tilrådighed som en variabel.
Tak for det - og kan godt skrive en besked gennem trace. Men SelectCommand indeholder jo kun selve SQL-strengen FØR parametrene er sat ind osv. Dvs. der er "?" og det er ikke den endelige streng. Kan man ikke få den?
Synes godt om
Slettet bruger
11. januar 2006 - 05:36#5
Nej du kan ikke få den endelige streng, ja ok du kan måske finde parameteren og selv lave søg og erstat. Man pointen her er jo at der bliver lavet et prepared statement, som jo tager en parameter, så kommandoen sender ikke på samme måde som når du brugte indlejret SQL i ASP-gammel ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.