icaaqMedlem sedan okt. 20005 273 inlägg 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 det blev fel det där......jag tänker ut hur jag ska förklara det.....
@ndersMedlem sedan juni 200032 969 inlägg Ska du inte byta plats och köra andra dimensionen ytterst?
hypatiaMedlem sedan feb. 20016 388 inlägg 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 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 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 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 For i = 0 to objRS.Fields.Count - 1
Kanske... :)
icaaqMedlem sedan okt. 20005 273 inlägg nu får jag upp namnen men dem hamnar sist........ :(
nån som vet?
@ndersMedlem sedan juni 200032 969 inlägg 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 Tänkte inte så långt.......tack .....ska testa lite till