tout est dans le titre :-)Existe-t-il un équivalent à RDO.OpenResultset dans ADO?
Quelques explications:
Pour utiliser un VB6 avec C# (COM/Interop) J'ai un problème de performance avec accès aux données. Je ne sais pas pourquoi mais le code est quatre fois plus lent en C# via Interop.
J'essaie de trouver une solution de contournement et je voudrais remplacer le rdo par ADO pour gagner en performance.
ancien code (avec RDO):
strSelect = _
QUERY1 & ";" & _
QUERY2 & ";" & _
QUERY3 & ";" & _
QUERY4 & ";" & _
QUERY5 & ";" & _
QUERY6
'Fp.Cn is a rdoConnection
Set Fp.rs = Fp.Cn.OpenResultset(strSelect)
'ComboBox 1
Call LoadCombo(cboOne)
Fp.rs.MoreResults
'ComboBox 2
Call LoadCombo(cboTwo)
Fp.rs.MoreResults
'ComboBox 3
Call LoadCombo(cboThree)
Fp.rs.MoreResults
'ComboBox 4
Call LoadCombo(cboFour)
Fp.rs.MoreResults
'ComboBox 5
Call LoadCombo(cboFive)
Fp.rs.MoreResults
'ComboBox 6
Call LoadCombo(cboSix)
Fp.rs.MoreResults
Fp.rs.Close
Maintenant, le code LoadCombo:
Public Sub LoadCombo(ByRef cboComboBox As ComboBox, ByRef rslResultSet As rdoResultset)
cboComboBox.Clear
With rslResultSet
While Not .EOF
cboComboBox.AddItem .rdoColumns(1)
cboComboBox.ItemData(cboComboBox.NewIndex) = .rdoColumns(0)
.MoveNext
Wend
End With
End Sub
Comment modifier ce code avec ADO?
Cordialement,
Florian
OK, je vais le tester! – Florian
Cela fonctionne très bien, mais les performances sont très lentes à :( – Florian
Dans de rares cas, j'ai vu l'objet DAO (par opposition à ADO) travailler plus vite dans VB6, mais pour interagir avec C#, Je ne suis pas sûr – LittleBobbyTables