DBExpress drivers for MySQL 5.0
可于 http://www.justsoftwaresolutions.co.uk/delphi/dbexpress_and_mysql_5.html 下载 源码 和 DLL文件。
ServerCharSet(服务器字符集)
connection parameter (even on BDS2006, despite the bug in the BDS2006 runtime). DecimalSeparator(小数点分隔符、十进制分隔符)
is set to something other than '.'
, as is common in non-English locales. For full instructions see the install.txt file in each .zip.
Copy the DLL somewhere on your path. You will also need an appropriate (V5.0) libmysql.dll on the path.
If you're setting your dbexpress stuff up in the IDE, append the contents of the .ini files to the existing ones of the same name in your Delphi installation.
If you're setting up the dbexpress stuff programmatically, then you need something like: var Connection: TSQLConnection; begin Connection := TSQLConnection.Create(nil); Connection.DriverName := 'dbxmysql'; Connection.GetDriverFunc := 'getSQLDriverMYSQL50'; Connection.LibraryName := 'dbxopenmysql50.dll'; Connection.VendorLib := 'libmysql.dll'; Connection.Params.Append('Database=NAME_OF_DATABASE'); Connection.Params.Append('User_Name=NAME_OF_USER'); Connection.Params.Append('Password=PASSWORD'); Connection.Params.Append('HostName=localhost'); Connection.Open; // ... do stuff Connection.Free; end;
Thanks to challge for developing the original OpenDbx driver for MySQL 4.1, on which this is based.
Thanks also to Bob Marietta, who has helped me iron out problems by providing simple, repeatable test cases that demonstrated the bugs he found.
上面一段中可以看到这个程序时基于“OpenDbx driver for MySQL 4.1”的。
**********************************************************************************************
上面都是 for MySQL5.0 的。
当将上面的DLL用于MySQL5.1时,会有错误(sometimes)。
比较了 MySQL5.0、MySQL5.1中的include文件夹中的文件 和 PlainMysql50.pas 中的内容,发现5.1中的某些结构体比5.0中多了一些内容,对照 PlainMysql50.pas 将需要加内容的结构体加入相关内容。(记得在mysql.h和mysql_com.h中某些结构体中多了“void *extension;”,则在PlainMysql50.pas中相应添加“extension:pointer;”。可能还有其他地方要改,记不得了)
这样编译出来的新DLL用于MySQL5.1,经测试,基本的select、insert、delete都没错误。(D6、D7都行)
环境:XP home + professional ,Delphi6 + 7,mysql-5.0.88-win32.zip + mysql-5.1.41-win32.msi