J'ai une page Web ASP classique écrite en vbscript qui affiche les résultats d'une procédure stockée tierce. Mon utilisateur souhaite que la page affiche les colonnes de données dans un ordre différent de celui de la base de données. Existe-t-il un moyen facile et sûr de réorganiser les colonnes dans un jeu d'enregistrements ADO?Réorganisation de colonnes (champs) dans un jeu d'enregistrements ADO
Je n'ai pas écrit cette page et je ne peux pas modifier le SP. Quel est le minimum de changement que je peux faire ici pour faire le travail et ne pas risquer de vider tous les autres éléments de la page?
Le code ressemble à
dim Conn, strSQL, RS
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ServerName
Set strSQL = "EXEC storedProc @foo = " & Request("fooParam")
'This stored procedure returns a date column, an arbitrary '
' number of data columns, and two summation columns. We '
' want the two summation columns to move so they appear '
' immediately after the data column '
Set RS = Server.CreateObject("ADODB.RecordSet")
RS.ActiveConnection = Nothing
RS.CursorLocation = adUseClient
RS.CursorType = adOpenStatic
RS.LockType = adLockBatchOptimistic
RS.Open strSQL, Conn, adOpenDynamic, adLockOptimistic
dim A
' ----- '
' Insert some code here to move the columns of the RS around '
' to suit the whim of my user '
' ----- '
' Several blocks of code that iterate over the RS and display it various ways '
RS.MoveFirst
For A = 0 To RS.Fields.Count -1
' do stuff '
Next
...
RS.MoveFirst
For A = 0 To RS.Fields.Count -1
' do more stuff '
Next
RS.Close : Set RS = Nothing
Conn.Close : Set Conn = Nothing
Avec un code correctement écrit, l'ordre des colonnes dans le jeu de résultats ne devrait pas importer du tout, vous ne devriez pas utiliser l'indexation positionnelle, utilisez plutôt des index nommés. –
Le SP renvoie un nombre arbitraire de colonnes dont les noms sont également arbitraires. – Sukotto
Donc la commande est par type de colonne? Les colonnes de données sont arbitraires et les colonnes de sommation sont également nommées arbitrairement? – Harv