Avatar billede soc127754 Nybegynder
09. januar 2006 - 19:45 Der er 5 kommentarer

udskrive sql-streng

Jeg er ny i asp.net og har visse omstillingsproblemer!!!

Jeg er vanttil at kunne lave en response.write(sql), hvis jeg vil se hvad databasen reelt modtager via ado.

Med anvendelse af servercontroller og parametriserede forespørgsler kan jeg ikke se hvad der sker - heller ikke i fejlmeddelelserne.

Hvad gør jeg? Anvender Visual Web Dev. Express
Avatar billede arne_v Ekspert
09. januar 2006 - 20:00 #1
forskellige muligheder:

1)  lav en label til formålet hvor du assigner diverse text til

2)  brug ASP.NET trace

3)  brug et logging framework (MS Enterprise Library har et, log4net er også meget brugt)
Avatar billede soc127754 Nybegynder
09. januar 2006 - 20:22 #2
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?
Avatar billede 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.
Avatar billede soc127754 Nybegynder
10. januar 2006 - 22:24 #4
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?
Avatar billede 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 ;)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester