|
|
||||||
|
#1
|
|
|
|
|
Er der mon nogen der vil hjælpe mig med at give give et simpelt
eksempel (i classic ASP) på hvordan jeg henter data ud fra en SP (som jeg selv har lavet)? Jeg synes ikke, at jeg kan finde ud af det, når det er en SP, hvor en normal SELECT er nem at arbejde med. Jeg har p.t. lavet min SP således, at den generére en temporær tabel og så henter jeg data ud fra den tabel med denne SELECT: SELECT COUNT(*), AppName FROM MyView GROUP BY AppName HAVING COUNT(*)>1 Vil jeg kunne hente data direkte ud fra min SP (uden at lave temporær tabel) og lave ovenstående filter? |
|
|
|
#2
|
|
|
|
|
> "Crazy" <crazynowhere> skrev i en meddelelse
> news:8c3f > Er der mon nogen der vil hjælpe mig med at give give et simpelt > eksempel (i classic ASP) på hvordan jeg henter data ud fra en SP (som > jeg selv har lavet)? > Jeg synes ikke, at jeg kan finde ud af det, når det er en SP, hvor en > normal SELECT er nem at arbejde med. > Jeg har p.t. lavet min SP således, at den generére en temporær tabel > og så henter jeg data ud fra den tabel med denne SELECT: > SELECT COUNT(*), AppName FROM MyView GROUP BY AppName HAVING > COUNT(*)>1 > Vil jeg kunne hente data direkte ud fra min SP (uden at lave temporær > tabel) og lave ovenstående filter? Jeg ville Enten lægge sorteringen ind i SP'en (evt lave en ekstra SP) til det Eller lave en UserDefinedFunction, der returnerer tabellen, du så kan bruge i en select med sortering og filter. Leif |
|
#3
|
|
|
|
|
> Jeg ville
> Enten lægge sorteringen ind i SP'en (evt lave en ekstra SP) til det OK, det ér muligt at lave endnu en SP, men hvordan læser jeg data ud i klassisk ASP? Jeg synes jeg prøvede med noget ala dette og det virkede ikke: Set details = db.Execute("EXEC MySelfdefinedSP") While NOT details.EOF Set MyColumn = details.Fields("MyColum") Response.Write "["& MyColumn & "]<br>" details.MoveNext WEnd Der kommer en masse tomme rækker (og jeg har defineret "MyColum" som output i SP'en). |
|
#4
|
|
|
|
|
Crazy wrote:
> Der kommer en masse tomme rækker (og jeg har defineret "MyColum" som > output i SP'en). Brug evet denne testfunktion, hvor du blot skal rette connectio9n string: --------------------------------- <% Dim SQL Dim IsSelect Dim databasename Dim oConn databasename = Request.QueryString("databasename") Set oConn = Server.CreateObject("ADODB.Connection") oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("/") + "/../database/" + databasename + ";Persist Security Info=False" SQL = Request.QueryString("SQL") if lcase(left(ltrim(SQL),6)) = "select" then IsSelect = true else IsSelect = false if Request.QueryString("showsql") <> "no" then %>This is result from <b>"<% = SQL %>":</b><hr/><% end if Dim oRs Dim filePath Dim Index Dim FieldName Dim Counter Counter = 0 Set oRs = oConn.Execute(SQL) if not IsSelect then Response.End end if %><table id="queryresult"><% 'Display the field attributes of the Table %><tr><% for each FieldName in oRs.Fields %><th><% = FieldName.Name %></th><% next %></tr><% Response.Flush Do while (Not oRs.eof) Counter = Counter + 1 %><tr><% For Index=0 to (oRs.fields.count-1) %><td><% if not isnull(oRs(Index)) then if Request.QueryString("safe") = "off" then Response.Write oRs(Index) else Response.Write Replace(Replace(Replace(oRs(Index),"&","&") _ ,"<","<") _ ,">",">") end if end if %></td><% Next %></tr><% if right(cStr(Counter),2) = "00" then Response.Flush oRs.MoveNext Loop %><tr><th>Count = <% = Counter %></th></tr></table><% oRs.close oConn.close Set oRs = nothing Set oConn = nothing %> ------------------------------------ |
|
#5
|
|
|
|
|
> Brug evet denne testfunktion, hvor du blot skal rette connectio9n string:
> --------------------------------- > <% > Dim SQL > Dim IsSelect [CUT] Denne blev jeg desværre ikke meget klogere af (den er unødig kompleks) - er der mon ikke en der kan oversætte denne, så den fungerer: Set details = db.Execute("EXEC MySelfdefinedSP") While NOT details.EOF Set MyColumn = details.Fields("MyColum") Response.Write "["& MyColumn & "]<br>" details.MoveNext WEnd |
|
#6
|
|
|
|
|
Den 10-02-2012 15:31, Crazy skrev:
>> Brug evet denne testfunktion, hvor du blot skal rette connectio9n string: >> --------------------------------- >> <% >> Dim SQL >> Dim IsSelect > [CUT] > > Denne blev jeg desværre ikke meget klogere af (den er unødig kompleks) En funktion, der skal være generel, bliver kompleks; den er ikke _unødig_ kompleks :-) > - er der mon ikke en der kan oversætte denne, så den fungerer: > > Set details = db.Execute("EXEC MySelfdefinedSP") > While NOT details.EOF > Set MyColumn = details.Fields("MyColum") Fjern "Set" MyColumn = details("MyColum") |
|
|
| Lignende emner | |
| @@Identity i stored procedure Hej, Jeg sidder og roder lidt med en stored procedure i MS SQL. Jeg vil gerne gemme en @Identity værdi en variabel som skal bruges "længere nede" i min procedure. CREATE... |
|
| SQL Server - Stored procedure Hej NG. Jeg sidder og kæmper med en stored procedure i MS SQL server. SELECT tbl1.DateTime, tbl1.Header, |
|
| MS SQL: View vs. Stored Procedure Er der én der ganske kort kan forklare hvornår man bruger Views vs Stored Procedures? De kan jo næsten det samme? Bliver de ikke begge genereret ved kaldet? og bearbejdet... |
|
| Stored Procedure (MSSQL) Kan det lige sig gøre at retunerne ID på den user man lige har oprettet? Uden at lave en Select sætning. Findes der en kommando til det+ |
|
|
Al tidssætning er GMT. Klokken er nu 16:15. | Privacy Policy
|