I am doing a project, in which i will be connecting a Visual Basic Client to a MySQL 3.x Server, it will likely have to perform several select, insert, update queries during operation and I am undecided as how i should do this.

I am aware of several possible methods,
ADODC, the visual tool - I played around with this, and got it working, but in my opinion the tool looks stupid so i am advoiding using it.
ADO In Code afaik this is similar/the sameish to RDO, which i recently used when playing around and have made this connect and retrive data from a sample database, but as yet no large complex queries.
Finally, there is the libmySQL.dll library i recently looked at this, and have attempted to start coding this way to see how it is, although this seems to be quite a messy way since just about every crash eg from mysql_get_server_info i done, but this caused a Run-time error '7' Out of memory, i am not certain if this is caused by not properly coding this call, or if it is simply telling the truth and i am out of memory, it is on my laptop and running XP VB and the MySQL server etc with a mere 128Meg ram.

I plan on getting another 256meg at least in a few weeks when i get some money, but thats not really relevent

According to the MySQL Manual site regarding the API,
char *mysql_get_server_info(MYSQL *mysql) that is the definition of the afore mentioned function.

In vb I have implemented this as
Public Declare Function mysql_get_server_info Lib "libmySQL.dll" (ByVal lMYSQL As Long) As String

It should be noted that Database programming with MySQL i have only done via PHP, and i have not often used external dlls as a mater of fact, i have only used them once or twice when following a tutorial on the Windows API.

Anyways, I would be intrested in knowing what would be the most efficient way of implementing the Client connectivity, RDO/ADO or via libmySQL.dll or the ADODC control.

Thank you.