webForumDet fria alternativet
Logga in / Bli medlem

Ordning?

ASP

10 svar · 331 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Trådstart#1

jag har denna nu

[red]
strSQL = Trim(Request.Form("strSQL"))
		Response.Write "<font face=""Verdana, Arial, Helvetica, sans-serif"" size=""2"">strSQL: "&strSQL &"<br></font>"
		Set objConn = Server.CreateObject("ADODB.Connection")
		objConn.Open "xxx", "xxx", "xxx"
		If Left(strSQL, 6) ="SELECT" Then
			Set ObjRS = objConn.Execute(strSQL)
			If Not objRS.EOF then
				arrRS = objRS.Getrows			
					For i = 0 To Ubound(arrRS,1)
							For j = 0 To Ubound(arrRS,2)
								Response.Write "<font face=""Verdana, Arial, Helvetica, sans-serif"" size=""2"">"&arrRS(i,j) &"<br></font>"& vbCrLf
							Next
					Next
			End IF		
		Else
		objConn.Execute(strSQL),,128
		objConn.Close
		Set objConn = Nothing
		End If
[/red]

men den loopar fel, Jag vill att den ska loopa ut en post med alla fält sen nästa post med alla fält...

Detta kanske blev luddigt, så säg till om jag ska försöka förklara mer.... :)

Medlem sedan okt. 20005 273 inlägg
#2

det blev fel det där......jag tänker ut hur jag ska förklara det.....

Medlem sedan juni 200032 967 inlägg
#3

Ska du inte byta plats och köra andra dimensionen ytterst?

Medlem sedan feb. 20016 388 inlägg
#4

Vad händer om du byter plats på for-looparna, dvs börjar med For j = 0 ?

red: sen som vanligt. ;)

Medlem sedan okt. 20005 273 inlägg
#5

det blev så här...

[red]
For i = 0 To Ubound(arrRS,2)
		For j = 0 To Ubound(arrRS,1)
			Response.Write "<font face=""Verdana, Arial, Helvetica, sans-serif"" size=""2"">"&arrRS(j,i) &"<br></font>"& vbCrLf
		Next
Next
[/red]

tack.....igen :)

men nästa fråga....kan jag få med Fälten som jag valt också?

Medlem sedan juni 200032 967 inlägg
#6

Ja, om du direkt efter du kör GetRows gör något sånt här:

Redim Preserve arrRS(ubound(arrRS,1), ubound(arrRS,2)+1)
For i = 0 to objRS.Fields.Count
     arrRs(i, ubound(arrRS,2)) = objRS.Fields(i).Name
next
objRS.Close

Nånting sånt. Då har du fältnamnen underst i din tvådimensionella array.

Obs, jag skrev koden direkt ur huvet, så det är ganska otestat...

Mvh,

Medlem sedan okt. 20005 273 inlägg
#7

Jag får det inte att funka......så här har jag nu

[red]
If Left(strSQL, 6) ="SELECT" Then
			Set ObjRS = objConn.Execute(strSQL)
			If Not objRS.EOF then
				arrRS = objRS.Getrows
					Redim Preserve arrRS(ubound(arrRS,1), ubound(arrRS,2)+1)
						For i = 0 to objRS.Fields.Count
						     [b]arrRS(i, ubound(arrRS,2)) = objRS.Fields(i).Name[/b]
						next
						objRS.Close		
					For i = 0 To Ubound(arrRS,2)
							For j = 0 To Ubound(arrRS,1)
								Response.Write "<font face=""Verdana, Arial, Helvetica, sans-serif"" size=""2"">"&arrRS(j,i) &"<br></font>"& vbCrLf
							Next
					Next
			End IF		
[/red]

men det ger

**ADODB.Fields error '800a0cc1'

ADO kunde inte hitta objektet i mängden som överensstämmer med det begärda namnet eller numret.

/sql.asp, line 15**

Medlem sedan juni 200032 967 inlägg
#8
For i = 0 to objRS.Fields.Count - 1

Kanske... :)

Medlem sedan okt. 20005 273 inlägg
#9

nu får jag upp namnen men dem hamnar sist........ :(
nån som vet?

Medlem sedan juni 200032 967 inlägg
#10

Ja, de ska hamna sist, det skrev jag i mitt inlägg.
På vilket sätt är det ett problem?

Du kan ju alltid skriva ut dem genom att referera till Ubound(arrRs,2), och se till att loopa genom Ubound(arrRs,2) -1.

Mvh,

Medlem sedan okt. 20005 273 inlägg
#11

Tänkte inte så långt.......tack .....ska testa lite till

278 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)