webForumDet fria alternativet

Ordning?

10 svar · 328 visningar · startad av icaaq

icaaqMedlem sedan okt. 20005 273 inlägg
#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.... :)

icaaqMedlem sedan okt. 20005 273 inlägg
#2

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

@ndersMedlem sedan juni 200032 969 inlägg
#3

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

hypatiaMedlem 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. ;)

icaaqMedlem 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å?

@ndersMedlem sedan juni 200032 969 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,

icaaqMedlem 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**

@ndersMedlem sedan juni 200032 969 inlägg
#8
For i = 0 to objRS.Fields.Count - 1

Kanske... :)

icaaqMedlem sedan okt. 20005 273 inlägg
#9

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

@ndersMedlem sedan juni 200032 969 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,

icaaqMedlem sedan okt. 20005 273 inlägg
#11

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

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)