README for msqlcvb.zip

mSQL Client VB - mSQL Client API for Visual Basic

Author: Jim Gerace
	KASI
	e-mail: kasi@dreamscape.com
Date: 2/96

Thanks to Ryan Kautz <ryak@wam.umd.edu> for helping me speed up the development
(cut it in half) by getting me info on the low-level command formats for mSQL.

To run the demo: Copy the vbx control IPP20.VBX to your windows system directory.
You will need Visual Basic 3.0+ installed on your system or at least the runtime
dll's along with the 3D control THREED.VBX and the grid GRID.VBX.

I hereby grant rights to freely use this code and allow any modifications.
All I ask in return is that if it gets used in any application that is to
be used in commercial settings that I receive credit and my name and e-mail
address be displayed somewhere in the splash screen. Also, if any bugs are
found, or improvements made, I would appreciate an e-mail message about it. 

This is my attempt to make a working client mSQL API native to Visual Basic. 
It can only work with one open socket connection and one open query at a time.
I tried to maintain all the mSQL C API routines as best as possible. So you
should find all the msql calls like msqlConnect(), msqlQuery(), etc, but as
VB function calls. I even maintained the socket parameter even though in reality
it isn't used. If someone adds the multi-socket open functionality, please
by all means use the parameter! (and e-mail me a copy too!) 

I altered the msqlQuery() slightly by adding a parameter to retrieve a string
table which contains field information for all the fields found in the resulting
query. I found this useful for labelling the grid columns in the demo. See the
demo to figure it out.

I also altered the scheme used to retrieve queries. msqlFetchRow() fetches the
results into a global string variable: szFetchResults. See the demo to figure
it out.

I tried to keep memory usage down by dynamically allocating arrays and enlarging them
when need be.

This was done using Visual Basic 3.0 so it should run on Win 3.1, 3.11, 95 and NT 
as it is 16 bit code. It requires a tcp/ip winsock stack. I used trumpet winsock
in my development but I did test it long distance with Compuserve's tcp/ip stack
using wincim version 2 as well as trumpet's.

It requires the use of a tcp/ip winsock vbx control to encapsulate all the (what I
call) medium level tcp/ip communications so that all I need worry about is
reading and writing to the ip address and port. I used devSoft's ipport version 2
and it worked quite nicely. I've included a shareware version of their control.

You might want to alter the timeout to above 5 seconds. This is probably too small but
it worked in the little testing I did. Just change the value in the timer control.

Thank you.
Jim



