The concept of a recordset dates back to ADO. That dates back to original Visual Basic. Even Microsoft says to stop using ADO and use ADO.NET when working within a .NET language.
(from
https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-overview )
""
ADO.NET provides functionality to developers who write managed code similar to the functionality provided to native component object model (COM) developers by ActiveX Data Objects (ADO). We recommend that you use ADO.NET, not ADO, for accessing data in your .NET applications.
""
And if you review the examples about how to query different providers through ADO.NET, you will see that none of them reference a recordset. They use the concept of a "DataReader" instead of a recordset.
https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-code-examples
I'm afraid you'll need to relegate your use of recordset objects to the past (or when dealing with older systems like Access) and use the more modern constructs when interacting with anything newer.
For working from VB.NET and talking to a MySQL server, you will want to use Connector/NET:
https://dev.mysql.com/doc/connector-net/en/
Yours,
--
Shawn Green
MySQL Product Support Manager, AMER region