请使用过libmysql.dll+mysql.pas开发mysql数据库,或者delphi高手的兄弟过来帮忙看看 ( 积分: 129 )

  • 主题发起人 小红河
  • 开始时间

小红河

Unregistered / Unconfirmed
GUEST, unregistred user!
开发mysql数据库,<br>已安装:(服务器加客户端)mysql-4.0.13-win<br>使用:libmysql.dll(3.23.49)<br><br>步骤:<br>1。向工程中加入:mysql.pas-3.23.49<br>该pas代码如下:<br>//&nbsp;-----------------------------------------------------------------------------------------------<br>//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;Client&nbsp;API&nbsp;for&nbsp;Borland&nbsp;Delphi&nbsp;(version&nbsp;4&nbsp;and&nbsp;above)<br>//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pascal&nbsp;Interface&nbsp;Unit&nbsp;for&nbsp;libmySQL.dll,&nbsp;the<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Client&nbsp;Library&nbsp;for&nbsp;MySQL&nbsp;AB's&nbsp;SQL&nbsp;Database&nbsp;Server<br>//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;literal&nbsp;translation&nbsp;of&nbsp;relevant&nbsp;parts&nbsp;of&nbsp;MySQL&nbsp;AB's<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;header&nbsp;files,&nbsp;mysql.h,&nbsp;mysql_com.h,&nbsp;and&nbsp;mysql_version.h<br>//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;1999-2002&nbsp;Matthias&nbsp;Fichtner<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(see&nbsp;license.txt&nbsp;for&nbsp;licensing&nbsp;information)<br>//<br>//&nbsp;-----------------------------------------------------------------------------------------------<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;See&nbsp;mysql.h&nbsp;for&nbsp;MySQL&nbsp;AB's&nbsp;copyright&nbsp;and&nbsp;GPL&nbsp;notice<br>//&nbsp;-----------------------------------------------------------------------------------------------<br>//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17-Aug-1999&nbsp;&nbsp;mf&nbsp;&nbsp;Translated&nbsp;mysql.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.24<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19-Aug-1999&nbsp;&nbsp;mf&nbsp;&nbsp;Corrected&nbsp;some&nbsp;type&nbsp;definitions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.24<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20-Aug-1999&nbsp;&nbsp;mf&nbsp;&nbsp;Finished&nbsp;debugging&nbsp;the&nbsp;unit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.24<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;18-Sep-1999&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.22.26a&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.26a<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22-Oct-1999&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.22.28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.28<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;02-Jan-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.22.29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.29<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21-Jan-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.22.30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.30<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;07-Feb-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.22.31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.31<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16-Feb-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.22.32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.32<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13-Aug-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.22.34&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.22.34<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14-Aug-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Reworked&nbsp;entire&nbsp;unit&nbsp;for&nbsp;first&nbsp;3.23&nbsp;release&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.19-beta<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14-Aug-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Added&nbsp;mysql_character_set_name()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.22-beta<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11-Sep-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Added&nbsp;IS_NUM_FIELD&nbsp;and&nbsp;INTERNAL_NUM_FIELD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.24-beta<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;08-Oct-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Modified&nbsp;TMEM_ROOT,&nbsp;enum_server_command,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.25-beta<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;INTERNAL_NUM_FIELD<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;01-Nov-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.23.27&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.27-beta<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;25-Nov-2000&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.23.28&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.28-gamma<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;05-Jan-2001&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.23.30&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.30-gamma<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;19-Jan-2001&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.23.31&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.31<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11-Mar-2001&nbsp;&nbsp;mf&nbsp;&nbsp;Added&nbsp;functions&nbsp;mysql_real_send_query(),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.33<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_send_query(),&nbsp;and&nbsp;mysql_reap_query()<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;28-Mai-2001&nbsp;&nbsp;mf&nbsp;&nbsp;Modified&nbsp;mysql_send_query(),&nbsp;removed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.38<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_real_send_query(),&nbsp;mysql_reap_query(),<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;added&nbsp;mysql_read_query_result(),&nbsp;and&nbsp;fixed<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CLIENT_TRANSACTIONS<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;07-Aug-2001&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.23.40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.40<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;23-Sep-2001&nbsp;&nbsp;mf&nbsp;&nbsp;Code&nbsp;maintenance&nbsp;for&nbsp;release&nbsp;3.23.42&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.42<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;29-Jan-2002&nbsp;&nbsp;mf&nbsp;&nbsp;Added&nbsp;libmysql_load(),&nbsp;libmysql_free(),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.47<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libmysql_status&nbsp;and&nbsp;LIBMYSQL_&nbsp;constants<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;dynamic&nbsp;loading&nbsp;of&nbsp;libmySQL.dll<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11-Mar-2002&nbsp;&nbsp;mf&nbsp;&nbsp;Added&nbsp;MYSQL_OPT_LOCAL_INFILE&nbsp;to&nbsp;mysql_option&nbsp;&nbsp;&nbsp;MySQL&nbsp;3.23.49<br>//<br>//&nbsp;-----------------------------------------------------------------------------------------------<br>//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Latest&nbsp;releases&nbsp;of&nbsp;mysql.pas&nbsp;are&nbsp;made&nbsp;available&nbsp;through&nbsp;the<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;distribution&nbsp;site&nbsp;at:&nbsp;http://www.fichtner.net/delphi/mysql/<br>//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Please&nbsp;send&nbsp;questions,&nbsp;bug&nbsp;reports,&nbsp;and&nbsp;suggestions&nbsp;regarding<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql.pas&nbsp;to&nbsp;Matthias&nbsp;Fichtner&nbsp;&lt;mfichtner@fichtner-meyer.com&gt;<br>//<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;See&nbsp;readme.txt&nbsp;for&nbsp;an&nbsp;introduction&nbsp;and&nbsp;documentation.<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;See&nbsp;license.txt&nbsp;for&nbsp;licensing&nbsp;information&nbsp;and&nbsp;disclaimer.<br>//<br>//&nbsp;-----------------------------------------------------------------------------------------------<br>//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;unit&nbsp;is&nbsp;provided&nbsp;&quot;as&nbsp;is&quot;.&nbsp;Use&nbsp;it&nbsp;at&nbsp;your&nbsp;own&nbsp;risk.<br>//&nbsp;-----------------------------------------------------------------------------------------------<br><br>unit&nbsp;mysql;<br><br>//&nbsp;-----------------------------------------------------------------------------------------------<br>INTERFACE<br>//&nbsp;-----------------------------------------------------------------------------------------------<br><br>uses<br>&nbsp;&nbsp;Windows,&nbsp;&nbsp;//&nbsp;Needed&nbsp;for&nbsp;some&nbsp;type&nbsp;definitions<br>&nbsp;&nbsp;Winsock;&nbsp;&nbsp;//&nbsp;Needed&nbsp;for&nbsp;some&nbsp;type&nbsp;definitions<br><br>//&nbsp;----------------<br>//&nbsp;From&nbsp;mysql.h&nbsp;...<br>//&nbsp;----------------<br><br>type<br>&nbsp;&nbsp;my_bool&nbsp;=&nbsp;byte;<br>&nbsp;&nbsp;gptr&nbsp;=&nbsp;pChar;<br><br>type<br>&nbsp;&nbsp;PUSED_MEM&nbsp;=&nbsp;^TUSED_MEM;&nbsp;&nbsp;//&nbsp;struct&nbsp;for&nbsp;once_alloc<br>&nbsp;&nbsp;TUSED_MEM&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;next:&nbsp;PUSED_MEM;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Next&nbsp;block&nbsp;in&nbsp;use<br>&nbsp;&nbsp;&nbsp;&nbsp;left:&nbsp;longword;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;memory&nbsp;left&nbsp;in&nbsp;block<br>&nbsp;&nbsp;&nbsp;&nbsp;size:&nbsp;longword;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;size&nbsp;of&nbsp;block<br>&nbsp;&nbsp;end;<br><br>type<br>&nbsp;&nbsp;error_proc&nbsp;=&nbsp;procedure;<br><br>type<br>&nbsp;&nbsp;PMEM_ROOT&nbsp;=&nbsp;^TMEM_ROOT;<br>&nbsp;&nbsp;TMEM_ROOT&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;free:&nbsp;PUSED_MEM;<br>&nbsp;&nbsp;&nbsp;&nbsp;used:&nbsp;PUSED_MEM;<br>&nbsp;&nbsp;&nbsp;&nbsp;pre_alloc:&nbsp;PUSED_MEM;<br>&nbsp;&nbsp;&nbsp;&nbsp;min_malloc:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;block_size:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;error_handler:&nbsp;error_proc;<br>&nbsp;&nbsp;end;<br><br>type<br>&nbsp;&nbsp;my_socket&nbsp;=&nbsp;TSocket;<br><br>//&nbsp;--------------------<br>//&nbsp;From&nbsp;mysql_com.h&nbsp;...<br>//&nbsp;--------------------<br><br>const<br>&nbsp;&nbsp;NAME_LEN&nbsp;=&nbsp;64;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field/table&nbsp;name&nbsp;length<br>&nbsp;&nbsp;HOSTNAME_LENGTH&nbsp;=&nbsp;60;<br>&nbsp;&nbsp;USERNAME_LENGTH&nbsp;=&nbsp;16;<br>&nbsp;&nbsp;SERVER_VERSION_LENGTH&nbsp;=&nbsp;60;<br><br>&nbsp;&nbsp;LOCAL_HOST&nbsp;=&nbsp;'localhost';<br>&nbsp;&nbsp;LOCAL_HOST_NAMEDPIPE&nbsp;=&nbsp;'.';<br><br>&nbsp;&nbsp;MYSQL_NAMEDPIPE&nbsp;=&nbsp;'MySQL';<br>&nbsp;&nbsp;MYSQL_SERVICENAME&nbsp;=&nbsp;'MySql';<br><br>type<br>&nbsp;&nbsp;enum_server_command&nbsp;=&nbsp;(<br>&nbsp;&nbsp;&nbsp;&nbsp;COM_SLEEP,&nbsp;COM_QUIT,&nbsp;COM_INIT_DB,&nbsp;COM_QUERY,<br>&nbsp;&nbsp;&nbsp;&nbsp;COM_FIELD_LIST,&nbsp;COM_CREATE_DB,&nbsp;COM_DROP_DB,&nbsp;COM_REFRESH,<br>&nbsp;&nbsp;&nbsp;&nbsp;COM_SHUTDOWN,&nbsp;COM_STATISTICS,<br>&nbsp;&nbsp;&nbsp;&nbsp;COM_PROCESS_INFO,&nbsp;COM_CONNECT,&nbsp;COM_PROCESS_KILL,<br>&nbsp;&nbsp;&nbsp;&nbsp;COM_DEBUG,&nbsp;COM_PING,&nbsp;COM_TIME,&nbsp;COM_DELAYED_INSERT,<br>&nbsp;&nbsp;&nbsp;&nbsp;COM_CHANGE_USER,&nbsp;COM_BINLOG_DUMP,<br>&nbsp;&nbsp;&nbsp;&nbsp;COM_TABLE_DUMP,&nbsp;COM_CONNECT_OUT<br>&nbsp;&nbsp;);<br><br>const<br>&nbsp;&nbsp;NOT_NULL_FLAG&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field&nbsp;can't&nbsp;be&nbsp;NULL<br>&nbsp;&nbsp;PRI_KEY_FLAG&nbsp;=&nbsp;2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field&nbsp;is&nbsp;part&nbsp;of&nbsp;a&nbsp;primary&nbsp;key<br>&nbsp;&nbsp;UNIQUE_KEY_FLAG&nbsp;=&nbsp;4;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field&nbsp;is&nbsp;part&nbsp;of&nbsp;a&nbsp;unique&nbsp;key<br>&nbsp;&nbsp;MULTIPLE_KEY_FLAG&nbsp;=&nbsp;8;&nbsp;&nbsp;//&nbsp;Field&nbsp;is&nbsp;part&nbsp;of&nbsp;a&nbsp;key<br>&nbsp;&nbsp;BLOB_FLAG&nbsp;=&nbsp;16;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field&nbsp;is&nbsp;a&nbsp;blob<br>&nbsp;&nbsp;UNSIGNED_FLAG&nbsp;=&nbsp;32;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field&nbsp;is&nbsp;unsigned<br>&nbsp;&nbsp;ZEROFILL_FLAG&nbsp;=&nbsp;64;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field&nbsp;is&nbsp;zerofill<br>&nbsp;&nbsp;BINARY_FLAG&nbsp;=&nbsp;128;<br><br>&nbsp;&nbsp;//&nbsp;The&nbsp;following&nbsp;are&nbsp;only&nbsp;sent&nbsp;to&nbsp;new&nbsp;clients<br><br>&nbsp;&nbsp;ENUM_FLAG&nbsp;=&nbsp;256;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;field&nbsp;is&nbsp;an&nbsp;enum<br>&nbsp;&nbsp;AUTO_INCREMENT_FLAG&nbsp;=&nbsp;512;&nbsp;&nbsp;//&nbsp;field&nbsp;is&nbsp;a&nbsp;autoincrement&nbsp;field<br>&nbsp;&nbsp;TIMESTAMP_FLAG&nbsp;=&nbsp;1024;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field&nbsp;is&nbsp;a&nbsp;timestamp<br>&nbsp;&nbsp;SET_FLAG&nbsp;=&nbsp;2048;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;field&nbsp;is&nbsp;a&nbsp;set<br>&nbsp;&nbsp;NUM_FLAG&nbsp;=&nbsp;32768;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Field&nbsp;is&nbsp;num&nbsp;(for&nbsp;clients)<br>&nbsp;&nbsp;PART_KEY_FLAG&nbsp;=&nbsp;16384;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Intern;&nbsp;Part&nbsp;of&nbsp;some&nbsp;key<br>&nbsp;&nbsp;GROUP_FLAG&nbsp;=&nbsp;32768;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Intern:&nbsp;Group&nbsp;field<br>&nbsp;&nbsp;UNIQUE_FLAG&nbsp;=&nbsp;65536;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Intern:&nbsp;Used&nbsp;by&nbsp;sql_yacc<br><br>&nbsp;&nbsp;REFRESH_GRANT&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Refresh&nbsp;grant&nbsp;tables<br>&nbsp;&nbsp;REFRESH_LOG&nbsp;=&nbsp;2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Start&nbsp;on&nbsp;new&nbsp;log&nbsp;file<br>&nbsp;&nbsp;REFRESH_TABLES&nbsp;=&nbsp;4;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;close&nbsp;all&nbsp;tables<br>&nbsp;&nbsp;REFRESH_HOSTS&nbsp;=&nbsp;8;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Flush&nbsp;host&nbsp;cache<br>&nbsp;&nbsp;REFRESH_STATUS&nbsp;=&nbsp;16;&nbsp;&nbsp;&nbsp;//&nbsp;Flush&nbsp;status&nbsp;variables<br>&nbsp;&nbsp;REFRESH_THREADS&nbsp;=&nbsp;32;&nbsp;&nbsp;//&nbsp;Flush&nbsp;status&nbsp;variables<br>&nbsp;&nbsp;REFRESH_SLAVE&nbsp;=&nbsp;64;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Reset&nbsp;master&nbsp;info&nbsp;and&nbsp;restart&nbsp;slave<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;thread<br>&nbsp;&nbsp;REFRESH_MASTER&nbsp;=&nbsp;128;&nbsp;&nbsp;//&nbsp;Remove&nbsp;all&nbsp;bin&nbsp;logs&nbsp;in&nbsp;the&nbsp;index<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;and&nbsp;truncate&nbsp;the&nbsp;index<br><br>&nbsp;&nbsp;//&nbsp;The&nbsp;following&nbsp;can't&nbsp;be&nbsp;set&nbsp;with&nbsp;mysql_refresh()<br><br>&nbsp;&nbsp;REFRESH_READ_LOCK&nbsp;=&nbsp;16384;&nbsp;&nbsp;//&nbsp;Lock&nbsp;tables&nbsp;for&nbsp;read<br>&nbsp;&nbsp;REFRESH_FAST&nbsp;=&nbsp;32768;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Intern&nbsp;flag<br><br>&nbsp;&nbsp;CLIENT_LONG_PASSWORD&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;new&nbsp;more&nbsp;secure&nbsp;passwords<br>&nbsp;&nbsp;CLIENT_FOUND_ROWS&nbsp;=&nbsp;2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Found&nbsp;instead&nbsp;of&nbsp;affected&nbsp;rows<br>&nbsp;&nbsp;CLIENT_LONG_FLAG&nbsp;=&nbsp;4;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Get&nbsp;all&nbsp;column&nbsp;flags<br>&nbsp;&nbsp;CLIENT_CONNECT_WITH_DB&nbsp;=&nbsp;8;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;One&nbsp;can&nbsp;specify&nbsp;db&nbsp;on&nbsp;connect<br>&nbsp;&nbsp;CLIENT_NO_SCHEMA&nbsp;=&nbsp;16;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Don't&nbsp;allow&nbsp;database.table.column<br>&nbsp;&nbsp;CLIENT_COMPRESS&nbsp;=&nbsp;32;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Can&nbsp;use&nbsp;compression&nbsp;protcol<br>&nbsp;&nbsp;CLIENT_ODBC&nbsp;=&nbsp;64;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Odbc&nbsp;client<br>&nbsp;&nbsp;CLIENT_LOCAL_FILES&nbsp;=&nbsp;128;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Can&nbsp;use&nbsp;LOAD&nbsp;DATA&nbsp;LOCAL<br>&nbsp;&nbsp;CLIENT_IGNORE_SPACE&nbsp;=&nbsp;256;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Ignore&nbsp;spaces&nbsp;before&nbsp;'('<br>&nbsp;&nbsp;CLIENT_INTERACTIVE&nbsp;=&nbsp;1024;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;This&nbsp;is&nbsp;an&nbsp;interactive&nbsp;client<br>&nbsp;&nbsp;CLIENT_SSL&nbsp;=&nbsp;2048;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Switch&nbsp;to&nbsp;SSL&nbsp;after&nbsp;handshake<br>&nbsp;&nbsp;CLIENT_IGNORE_SIGPIPE&nbsp;=&nbsp;4096;&nbsp;&nbsp;//&nbsp;IGNORE&nbsp;sigpipes<br>&nbsp;&nbsp;CLIENT_TRANSACTIONS&nbsp;=&nbsp;8192;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Client&nbsp;knows&nbsp;about&nbsp;transactions<br><br>&nbsp;&nbsp;SERVER_STATUS_IN_TRANS&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Transaction&nbsp;has&nbsp;started<br>&nbsp;&nbsp;SERVER_STATUS_AUTOCOMMIT&nbsp;=&nbsp;2;&nbsp;&nbsp;//&nbsp;Server&nbsp;in&nbsp;auto_commit&nbsp;mode<br><br>&nbsp;&nbsp;MYSQL_ERRMSG_SIZE&nbsp;=&nbsp;200;<br>&nbsp;&nbsp;NET_READ_TIMEOUT&nbsp;=&nbsp;30;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timeout&nbsp;on&nbsp;read<br>&nbsp;&nbsp;NET_WRITE_TIMEOUT&nbsp;=&nbsp;60;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timeout&nbsp;on&nbsp;write<br>&nbsp;&nbsp;NET_WAIT_TIMEOUT&nbsp;=&nbsp;8*60*60;&nbsp;&nbsp;//&nbsp;Wait&nbsp;for&nbsp;new&nbsp;query<br><br>type<br>&nbsp;&nbsp;PVio&nbsp;=&nbsp;^TVio;<br>&nbsp;&nbsp;TVio&nbsp;=&nbsp;record<br>&nbsp;&nbsp;end;<br><br>type<br>&nbsp;&nbsp;PNET&nbsp;=&nbsp;^TNET;<br>&nbsp;&nbsp;TNET&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;vio:&nbsp;PVio;<br>&nbsp;&nbsp;&nbsp;&nbsp;fd:&nbsp;my_socket;<br>&nbsp;&nbsp;&nbsp;&nbsp;fcntl:&nbsp;longint;<br>&nbsp;&nbsp;&nbsp;&nbsp;buff,&nbsp;buff_end,&nbsp;write_pos,&nbsp;read_pos:&nbsp;pByte;<br>&nbsp;&nbsp;&nbsp;&nbsp;last_error:&nbsp;array&nbsp;[0..MYSQL_ERRMSG_SIZE&nbsp;-&nbsp;1]&nbsp;of&nbsp;char;<br>&nbsp;&nbsp;&nbsp;&nbsp;last_errno,&nbsp;max_packet,&nbsp;timeout,&nbsp;pkt_nr:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;error:&nbsp;byte;<br>&nbsp;&nbsp;&nbsp;&nbsp;return_errno,&nbsp;compress:&nbsp;my_bool;<br>&nbsp;&nbsp;&nbsp;&nbsp;no_send_ok:&nbsp;my_bool;&nbsp;&nbsp;//&nbsp;needed&nbsp;if&nbsp;we&nbsp;are&nbsp;doing&nbsp;several<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;queries&nbsp;in&nbsp;one&nbsp;command&nbsp;(&nbsp;as&nbsp;in&nbsp;LOAD&nbsp;TABLE&nbsp;...&nbsp;FROM&nbsp;MASTER&nbsp;),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;and&nbsp;do&nbsp;not&nbsp;want&nbsp;to&nbsp;confuse&nbsp;the&nbsp;client&nbsp;with&nbsp;OK&nbsp;at&nbsp;the&nbsp;wrong&nbsp;time<br>&nbsp;&nbsp;&nbsp;&nbsp;remain_in_buf,&nbsp;length,&nbsp;buf_length,&nbsp;where_b:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;return_status:&nbsp;pLongword;<br>&nbsp;&nbsp;&nbsp;&nbsp;reading_or_writing:&nbsp;byte;<br>&nbsp;&nbsp;&nbsp;&nbsp;save_char:&nbsp;char;<br>&nbsp;&nbsp;end;<br><br>const<br>&nbsp;&nbsp;packet_error:&nbsp;longword&nbsp;=&nbsp;$ffffffff;<br><br>const<br>&nbsp;&nbsp;FIELD_TYPE_DECIMAL&nbsp;=&nbsp;0;<br>&nbsp;&nbsp;FIELD_TYPE_TINY&nbsp;=&nbsp;1;<br>&nbsp;&nbsp;FIELD_TYPE_SHORT&nbsp;=&nbsp;2;<br>&nbsp;&nbsp;FIELD_TYPE_LONG&nbsp;=&nbsp;3;<br>&nbsp;&nbsp;FIELD_TYPE_FLOAT&nbsp;=&nbsp;4;<br>&nbsp;&nbsp;FIELD_TYPE_DOUBLE&nbsp;=&nbsp;5;<br>&nbsp;&nbsp;FIELD_TYPE_NULL&nbsp;=&nbsp;6;<br>&nbsp;&nbsp;FIELD_TYPE_TIMESTAMP&nbsp;=&nbsp;7;<br>&nbsp;&nbsp;FIELD_TYPE_LONGLONG&nbsp;=&nbsp;8;<br>&nbsp;&nbsp;FIELD_TYPE_INT24&nbsp;=&nbsp;9;<br>&nbsp;&nbsp;FIELD_TYPE_DATE&nbsp;=&nbsp;10;<br>&nbsp;&nbsp;FIELD_TYPE_TIME&nbsp;=&nbsp;11;<br>&nbsp;&nbsp;FIELD_TYPE_DATETIME&nbsp;=&nbsp;12;<br>&nbsp;&nbsp;FIELD_TYPE_YEAR&nbsp;=&nbsp;13;<br>&nbsp;&nbsp;FIELD_TYPE_NEWDATE&nbsp;=&nbsp;14;<br>&nbsp;&nbsp;FIELD_TYPE_ENUM&nbsp;=&nbsp;247;<br>&nbsp;&nbsp;FIELD_TYPE_SET&nbsp;=&nbsp;248;<br>&nbsp;&nbsp;FIELD_TYPE_TINY_BLOB&nbsp;=&nbsp;249;<br>&nbsp;&nbsp;FIELD_TYPE_MEDIUM_BLOB&nbsp;=&nbsp;250;<br>&nbsp;&nbsp;FIELD_TYPE_LONG_BLOB&nbsp;=&nbsp;251;<br>&nbsp;&nbsp;FIELD_TYPE_BLOB&nbsp;=&nbsp;252;<br>&nbsp;&nbsp;FIELD_TYPE_VAR_STRING&nbsp;=&nbsp;253;<br>&nbsp;&nbsp;FIELD_TYPE_STRING&nbsp;=&nbsp;254;<br><br>const<br>&nbsp;&nbsp;FIELD_TYPE_CHAR&nbsp;=&nbsp;FIELD_TYPE_TINY;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;For&nbsp;compability<br>&nbsp;&nbsp;FIELD_TYPE_INTERVAL&nbsp;=&nbsp;FIELD_TYPE_ENUM;&nbsp;&nbsp;//&nbsp;For&nbsp;compability<br><br>type<br>&nbsp;&nbsp;enum_field_types&nbsp;=&nbsp;FIELD_TYPE_DECIMAL..FIELD_TYPE_STRING;<br><br>//&nbsp;------------------------<br>//&nbsp;From&nbsp;mysql_version.h&nbsp;...<br>//&nbsp;------------------------<br><br>const<br>&nbsp;&nbsp;PROTOCOL_VERSION&nbsp;=&nbsp;10;<br>&nbsp;&nbsp;MYSQL_SERVER_VERSION&nbsp;=&nbsp;'3.23.49';<br>&nbsp;&nbsp;MYSQL_SERVER_SUFFIX&nbsp;=&nbsp;'';<br>&nbsp;&nbsp;FRM_VER&nbsp;=&nbsp;6;<br>&nbsp;&nbsp;MYSQL_VERSION_ID&nbsp;=&nbsp;32349;<br>&nbsp;&nbsp;MYSQL_PORT&nbsp;=&nbsp;3306;<br>&nbsp;&nbsp;MYSQL_UNIX_ADDR&nbsp;=&nbsp;'/tmp/mysql.sock';<br><br>//&nbsp;----------------<br>//&nbsp;From&nbsp;mysql.h&nbsp;...<br>//&nbsp;----------------<br><br>function&nbsp;IS_PRI_KEY(n:&nbsp;longword):&nbsp;boolean;<br>function&nbsp;IS_NOT_NULL(n:&nbsp;longword):&nbsp;boolean;<br>function&nbsp;IS_BLOB(n:&nbsp;longword):&nbsp;boolean;<br>function&nbsp;IS_NUM(t:&nbsp;longword):&nbsp;boolean;<br><br>type<br>&nbsp;&nbsp;PMYSQL_FIELD&nbsp;=&nbsp;^TMYSQL_FIELD;<br>&nbsp;&nbsp;TMYSQL_FIELD&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;name:&nbsp;pChar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Name&nbsp;of&nbsp;column<br>&nbsp;&nbsp;&nbsp;&nbsp;table:&nbsp;pChar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Table&nbsp;of&nbsp;column&nbsp;if&nbsp;column&nbsp;was&nbsp;a&nbsp;field<br>&nbsp;&nbsp;&nbsp;&nbsp;def:&nbsp;pChar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Default&nbsp;value&nbsp;(set&nbsp;by&nbsp;mysql_list_fields)<br>&nbsp;&nbsp;&nbsp;&nbsp;_type:&nbsp;enum_field_types;&nbsp;&nbsp;//&nbsp;Type&nbsp;of&nbsp;field.&nbsp;Se&nbsp;mysql_com.h&nbsp;for&nbsp;types<br>&nbsp;&nbsp;&nbsp;&nbsp;length:&nbsp;longword;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Width&nbsp;of&nbsp;column<br>&nbsp;&nbsp;&nbsp;&nbsp;max_length:&nbsp;longword;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Max&nbsp;width&nbsp;of&nbsp;selected&nbsp;set<br>&nbsp;&nbsp;&nbsp;&nbsp;flags:&nbsp;longword;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Div&nbsp;flags<br>&nbsp;&nbsp;&nbsp;&nbsp;decimals:&nbsp;longword;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Number&nbsp;of&nbsp;decimals&nbsp;in&nbsp;field<br>&nbsp;&nbsp;end;<br><br>function&nbsp;IS_NUM_FIELD(f:&nbsp;PMYSQL_FIELD):&nbsp;boolean;<br>function&nbsp;INTERNAL_NUM_FIELD(f:&nbsp;PMYSQL_FIELD):&nbsp;boolean;<br><br>type<br>&nbsp;&nbsp;PMYSQL_ROW&nbsp;=&nbsp;^TMYSQL_ROW;&nbsp;&nbsp;//&nbsp;return&nbsp;data&nbsp;as&nbsp;array&nbsp;of&nbsp;strings<br>&nbsp;&nbsp;TMYSQL_ROW&nbsp;=&nbsp;array[0..MaxInt&nbsp;div&nbsp;SizeOf(pChar)&nbsp;-&nbsp;1]&nbsp;of&nbsp;pChar;<br><br>type<br>&nbsp;&nbsp;MYSQL_FIELD_OFFSET&nbsp;=&nbsp;longword;&nbsp;&nbsp;//&nbsp;offset&nbsp;to&nbsp;current&nbsp;field<br><br>type<br>&nbsp;&nbsp;my_ulonglong&nbsp;=&nbsp;int64;<br><br>const<br>&nbsp;&nbsp;MYSQL_COUNT_ERROR:&nbsp;my_ulonglong&nbsp;=&nbsp;not&nbsp;0;<br><br>type<br>&nbsp;&nbsp;PMYSQL_ROWS&nbsp;=&nbsp;^TMYSQL_ROWS;<br>&nbsp;&nbsp;TMYSQL_ROWS&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;next:&nbsp;PMYSQL_ROWS;&nbsp;&nbsp;//&nbsp;list&nbsp;of&nbsp;rows<br>&nbsp;&nbsp;&nbsp;&nbsp;data:&nbsp;PMYSQL_ROW;<br>&nbsp;&nbsp;end;<br><br>type<br>&nbsp;&nbsp;MYSQL_ROW_OFFSET&nbsp;=&nbsp;PMYSQL_ROWS;&nbsp;&nbsp;//&nbsp;offset&nbsp;to&nbsp;current&nbsp;row<br><br>type<br>&nbsp;&nbsp;PMYSQL_DATA&nbsp;=&nbsp;^TMYSQL_DATA;<br>&nbsp;&nbsp;TMYSQL_DATA&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;rows:&nbsp;my_ulonglong;<br>&nbsp;&nbsp;&nbsp;&nbsp;fields:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;data:&nbsp;PMYSQL_ROWS;<br>&nbsp;&nbsp;&nbsp;&nbsp;alloc:&nbsp;TMEM_ROOT;<br>&nbsp;&nbsp;end;<br><br>type<br>&nbsp;&nbsp;PMYSQL_OPTIONS&nbsp;=&nbsp;^TMYSQL_OPTIONS;<br>&nbsp;&nbsp;TMYSQL_OPTIONS&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;connect_timeout,&nbsp;client_flag:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;compress,&nbsp;named_pipe:&nbsp;my_bool;<br>&nbsp;&nbsp;&nbsp;&nbsp;port:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;host,&nbsp;init_command,&nbsp;user,&nbsp;password,&nbsp;unix_socket,&nbsp;db:&nbsp;pChar;<br>&nbsp;&nbsp;&nbsp;&nbsp;my_cnf_file,&nbsp;my_cnf_group,&nbsp;charset_dir,&nbsp;charset_name:&nbsp;pChar;<br>&nbsp;&nbsp;&nbsp;&nbsp;use_ssl:&nbsp;my_bool;&nbsp;&nbsp;&nbsp;//&nbsp;if&nbsp;to&nbsp;use&nbsp;SSL&nbsp;or&nbsp;not<br>&nbsp;&nbsp;&nbsp;&nbsp;ssl_key:&nbsp;pChar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PEM&nbsp;key&nbsp;file<br>&nbsp;&nbsp;&nbsp;&nbsp;ssl_cert:&nbsp;pChar;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PEM&nbsp;cert&nbsp;file<br>&nbsp;&nbsp;&nbsp;&nbsp;ssl_ca:&nbsp;pChar;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PEM&nbsp;CA&nbsp;file<br>&nbsp;&nbsp;&nbsp;&nbsp;ssl_capath:&nbsp;pChar;&nbsp;&nbsp;//&nbsp;PEM&nbsp;directory&nbsp;of&nbsp;CA-s?<br>&nbsp;&nbsp;end;<br><br>type<br>&nbsp;&nbsp;mysql_option&nbsp;=&nbsp;(<br>&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_OPT_CONNECT_TIMEOUT,&nbsp;MYSQL_OPT_COMPRESS,<br>&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_OPT_NAMED_PIPE,&nbsp;MYSQL_INIT_COMMAND,<br>&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_READ_DEFAULT_FILE,&nbsp;MYSQL_READ_DEFAULT_GROUP,<br>&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_SET_CHARSET_DIR,&nbsp;MYSQL_SET_CHARSET_NAME,<br>&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_OPT_LOCAL_INFILE<br>&nbsp;&nbsp;);<br><br>type<br>&nbsp;&nbsp;mysql_status&nbsp;=&nbsp;(<br>&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_STATUS_READY,&nbsp;MYSQL_STATUS_GET_RESULT,<br>&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_STATUS_USE_RESULT<br>&nbsp;&nbsp;);<br><br>type<br>&nbsp;&nbsp;PMYSQL_FIELDS&nbsp;=&nbsp;^TMYSQL_FIELDS;<br>&nbsp;&nbsp;TMYSQL_FIELDS&nbsp;=&nbsp;array[0..MaxInt&nbsp;div&nbsp;SizeOf(TMYSQL_FIELD)&nbsp;-&nbsp;1]&nbsp;of&nbsp;TMYSQL_FIELD;<br><br>type<br>&nbsp;&nbsp;PCHARSET_INFO&nbsp;=&nbsp;^TCHARSET_INFO;<br>&nbsp;&nbsp;TCHARSET_INFO&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Omitted:&nbsp;Structure&nbsp;not&nbsp;necessarily&nbsp;needed.<br>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Definition&nbsp;of&nbsp;struct&nbsp;charset_info_st&nbsp;can&nbsp;be<br>&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;found&nbsp;in&nbsp;include/m_ctype.h<br>&nbsp;&nbsp;end;<br><br>type<br>&nbsp;&nbsp;PMYSQL&nbsp;=&nbsp;^TMYSQL;<br>&nbsp;&nbsp;TMYSQL&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;net:&nbsp;TNET;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Communication&nbsp;parameters<br>&nbsp;&nbsp;&nbsp;&nbsp;connector_fd:&nbsp;gptr;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;ConnectorFd&nbsp;for&nbsp;SSL<br>&nbsp;&nbsp;&nbsp;&nbsp;host,&nbsp;user,&nbsp;passwd,&nbsp;unix_socket,&nbsp;server_version,&nbsp;host_info,&nbsp;info,&nbsp;db:&nbsp;pChar;<br>&nbsp;&nbsp;&nbsp;&nbsp;port,&nbsp;client_flag,&nbsp;server_capabilities:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;protocol_version:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;field_count:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;server_status:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;thread_id:&nbsp;longword;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Id&nbsp;for&nbsp;connection&nbsp;in&nbsp;server<br>&nbsp;&nbsp;&nbsp;&nbsp;affected_rows:&nbsp;my_ulonglong;<br>&nbsp;&nbsp;&nbsp;&nbsp;insert_id:&nbsp;my_ulonglong;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;id&nbsp;if&nbsp;insert&nbsp;on&nbsp;table&nbsp;with&nbsp;NEXTNR<br>&nbsp;&nbsp;&nbsp;&nbsp;extra_info:&nbsp;my_ulonglong;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Used&nbsp;by&nbsp;mysqlshow<br>&nbsp;&nbsp;&nbsp;&nbsp;packet_length:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;status:&nbsp;mysql_status;<br>&nbsp;&nbsp;&nbsp;&nbsp;fields:&nbsp;PMYSQL_FIELDS;<br>&nbsp;&nbsp;&nbsp;&nbsp;field_alloc:&nbsp;TMEM_ROOT;<br>&nbsp;&nbsp;&nbsp;&nbsp;free_me:&nbsp;my_bool;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;If&nbsp;free&nbsp;in&nbsp;mysql_close<br>&nbsp;&nbsp;&nbsp;&nbsp;reconnect:&nbsp;my_bool;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;set&nbsp;to&nbsp;1&nbsp;if&nbsp;automatic&nbsp;reconnect<br>&nbsp;&nbsp;&nbsp;&nbsp;options:&nbsp;TMYSQL_OPTIONS;<br>&nbsp;&nbsp;&nbsp;&nbsp;scramble_buff:&nbsp;array&nbsp;[0..8]&nbsp;of&nbsp;char;<br>&nbsp;&nbsp;&nbsp;&nbsp;charset:&nbsp;PCHARSET_INFO;<br>&nbsp;&nbsp;&nbsp;&nbsp;server_language:&nbsp;longword;<br>&nbsp;&nbsp;end;<br><br>type<br>&nbsp;&nbsp;PMYSQL_RES&nbsp;=&nbsp;^TMYSQL_RES;<br>&nbsp;&nbsp;TMYSQL_RES&nbsp;=&nbsp;record<br>&nbsp;&nbsp;&nbsp;&nbsp;row_count:&nbsp;my_ulonglong;<br>&nbsp;&nbsp;&nbsp;&nbsp;field_count,&nbsp;current_field:&nbsp;longword;<br>&nbsp;&nbsp;&nbsp;&nbsp;fields:&nbsp;PMYSQL_FIELDS;<br>&nbsp;&nbsp;&nbsp;&nbsp;data:&nbsp;PMYSQL_DATA;<br>&nbsp;&nbsp;&nbsp;&nbsp;data_cursor:&nbsp;PMYSQL_ROWS;<br>&nbsp;&nbsp;&nbsp;&nbsp;field_alloc:&nbsp;TMEM_ROOT;<br>&nbsp;&nbsp;&nbsp;&nbsp;row:&nbsp;PMYSQL_ROW;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;If&nbsp;unbuffered&nbsp;read<br>&nbsp;&nbsp;&nbsp;&nbsp;current_row:&nbsp;PMYSQL_ROW;&nbsp;&nbsp;//&nbsp;buffer&nbsp;to&nbsp;current&nbsp;row<br>&nbsp;&nbsp;&nbsp;&nbsp;lengths:&nbsp;pLongword;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;column&nbsp;lengths&nbsp;of&nbsp;current&nbsp;row<br>&nbsp;&nbsp;&nbsp;&nbsp;handle:&nbsp;PMYSQL;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;for&nbsp;unbuffered&nbsp;reads<br>&nbsp;&nbsp;&nbsp;&nbsp;eof:&nbsp;my_bool;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Used&nbsp;my&nbsp;mysql_fetch_row<br>&nbsp;&nbsp;end;<br><br>//&nbsp;Functions&nbsp;to&nbsp;get&nbsp;information&nbsp;from&nbsp;the&nbsp;MYSQL&nbsp;and&nbsp;MYSQL_RES&nbsp;structures<br>//&nbsp;Should&nbsp;definitely&nbsp;be&nbsp;used&nbsp;if&nbsp;one&nbsp;uses&nbsp;shared&nbsp;libraries<br><br>var<br>&nbsp;&nbsp;mysql_num_rows:&nbsp;function(res:&nbsp;PMYSQL_RES):&nbsp;my_ulonglong;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_num_fields:&nbsp;function(res:&nbsp;PMYSQL_RES):&nbsp;longword;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_eof:&nbsp;function(res:&nbsp;PMYSQL_RES):&nbsp;my_bool;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_fetch_field_direct:&nbsp;function(res:&nbsp;PMYSQL_RES;&nbsp;fieldnr:&nbsp;longword):&nbsp;PMYSQL_FIELD;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_fetch_fields:&nbsp;function(res:&nbsp;PMYSQL_RES):&nbsp;PMYSQL_FIELDS;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_row_tell:&nbsp;function(res:&nbsp;PMYSQL_RES):&nbsp;PMYSQL_ROWS;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_field_tell:&nbsp;function(res:&nbsp;PMYSQL_RES):&nbsp;longword;&nbsp;stdcall;<br><br>var<br>&nbsp;&nbsp;mysql_field_count:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;longword;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_affected_rows:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;my_ulonglong;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_insert_id:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;my_ulonglong;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_errno:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;longword;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_error:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;pChar;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_info:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;pChar;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_thread_id:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;longword;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_character_set_name:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;pChar;&nbsp;stdcall;<br><br>type<br>&nbsp;&nbsp;PMYSQL_LENGTHS&nbsp;=&nbsp;^TMYSQL_LENGTHS;<br>&nbsp;&nbsp;TMYSQL_LENGTHS&nbsp;=&nbsp;array[0..MaxInt&nbsp;div&nbsp;SizeOf(longword)&nbsp;-&nbsp;1]&nbsp;of&nbsp;longword;<br><br>type<br>&nbsp;&nbsp;extend_buffer_func&nbsp;=&nbsp;function(void:&nbsp;pointer;&nbsp;_to:&nbsp;pChar;&nbsp;length:&nbsp;pLongword):&nbsp;pChar;<br><br>var<br>&nbsp;&nbsp;mysql_init:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;PMYSQL;&nbsp;stdcall;<br>&nbsp;&nbsp;{$IFDEF&nbsp;HAVE_OPENSSL}<br>&nbsp;&nbsp;mysql_ssl_set:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;key,&nbsp;cert,&nbsp;ca,&nbsp;capath:&nbsp;pChar):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_ssl_cipher:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;pChar;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_ssl_clear:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;{$ENDIF}&nbsp;//&nbsp;HAVE_OPENSSL<br>&nbsp;&nbsp;mysql_connect:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;host,&nbsp;user,&nbsp;passwd:&nbsp;pChar):&nbsp;PMYSQL;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_change_user:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;user,&nbsp;passwd,&nbsp;db:&nbsp;pChar):&nbsp;my_bool;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_real_connect:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;host,&nbsp;user,&nbsp;passwd,&nbsp;db:&nbsp;pChar;&nbsp;port:&nbsp;longword;&nbsp;const&nbsp;unix_socket:&nbsp;pChar;&nbsp;clientflag:&nbsp;longword):&nbsp;PMYSQL;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_close:&nbsp;procedure(sock:&nbsp;PMYSQL);&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_select_db:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;db:&nbsp;pChar):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_query:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;q:&nbsp;pChar):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_send_query:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;q:&nbsp;pChar;&nbsp;length:&nbsp;longword):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_read_query_result:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_real_query:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;q:&nbsp;pChar;&nbsp;length:&nbsp;longword):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_create_db:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;DB:&nbsp;pChar):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_drop_db:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;DB:&nbsp;pChar):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_shutdown:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_dump_debug_info:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_refresh:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;refresh_options:&nbsp;longword):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_kill:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;pid:&nbsp;longword):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_ping:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_stat:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;pChar;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_get_server_info:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;pChar;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_get_client_info:&nbsp;function:&nbsp;pChar;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_get_host_info:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;pChar;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_get_proto_info:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;longword;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_list_dbs:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;wild:&nbsp;pChar):&nbsp;PMYSQL_RES;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_list_tables:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;wild:&nbsp;pChar):&nbsp;PMYSQL_RES;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_list_fields:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;const&nbsp;table,&nbsp;wild:&nbsp;pChar):&nbsp;PMYSQL_RES;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_list_processes:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;PMYSQL_RES;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_store_result:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;PMYSQL_RES;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_use_result:&nbsp;function(_mysql:&nbsp;PMYSQL):&nbsp;PMYSQL_RES;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_options:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;option:&nbsp;mysql_option;&nbsp;const&nbsp;arg:&nbsp;pChar):&nbsp;longint;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_free_result:&nbsp;procedure(result:&nbsp;PMYSQL_RES);&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_data_seek:&nbsp;procedure(result:&nbsp;PMYSQL_RES;&nbsp;offset:&nbsp;my_ulonglong);&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_row_seek:&nbsp;function(result:&nbsp;PMYSQL_RES;&nbsp;offset:&nbsp;MYSQL_ROW_OFFSET):&nbsp;MYSQL_ROW_OFFSET;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_field_seek:&nbsp;function(result:&nbsp;PMYSQL_RES;&nbsp;offset:&nbsp;MYSQL_FIELD_OFFSET):&nbsp;MYSQL_FIELD_OFFSET;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_fetch_row:&nbsp;function(result:&nbsp;PMYSQL_RES):&nbsp;PMYSQL_ROW;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_fetch_lengths:&nbsp;function(result:&nbsp;PMYSQL_RES):&nbsp;PMYSQL_LENGTHS;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_fetch_field:&nbsp;function(result:&nbsp;PMYSQL_RES):&nbsp;PMYSQL_FIELD;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_escape_string:&nbsp;function(_to:&nbsp;pChar;&nbsp;const&nbsp;from:&nbsp;pChar;&nbsp;from_length:&nbsp;longword):&nbsp;longword;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_real_escape_string:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;_to:&nbsp;pChar;&nbsp;const&nbsp;from:&nbsp;pChar;&nbsp;length:&nbsp;longword):&nbsp;longword;&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_debug:&nbsp;procedure(const&nbsp;debug:&nbsp;pChar);&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_odbc_escape_string:&nbsp;function(_mysql:&nbsp;PMYSQL;&nbsp;_to:&nbsp;pChar;&nbsp;to_length:&nbsp;longword;&nbsp;const&nbsp;from:&nbsp;pChar;&nbsp;from_length:&nbsp;longword;&nbsp;param:&nbsp;pointer;&nbsp;extend_buffer:&nbsp;extend_buffer_func):&nbsp;pChar;&nbsp;stdcall;<br>&nbsp;&nbsp;myodbc_remove_escape:&nbsp;procedure(_mysql:&nbsp;PMYSQL;&nbsp;name:&nbsp;pChar);&nbsp;stdcall;<br>&nbsp;&nbsp;mysql_thread_safe:&nbsp;function:&nbsp;longword;&nbsp;stdcall;<br><br>function&nbsp;mysql_reload(_mysql:&nbsp;PMySQL):&nbsp;longint;<br><br>//&nbsp;Status&nbsp;codes&nbsp;for&nbsp;libmySQL.dll<br><br>const<br>&nbsp;&nbsp;LIBMYSQL_UNDEFINED&nbsp;=&nbsp;0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;libmysql_load()&nbsp;has&nbsp;not&nbsp;yet&nbsp;been&nbsp;called<br>&nbsp;&nbsp;LIBMYSQL_MISSING&nbsp;=&nbsp;1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;No&nbsp;suitable&nbsp;DLL&nbsp;could&nbsp;be&nbsp;located<br>&nbsp;&nbsp;LIBMYSQL_INCOMPATIBLE&nbsp;=&nbsp;2;&nbsp;&nbsp;//&nbsp;A&nbsp;DLL&nbsp;was&nbsp;found&nbsp;but&nbsp;it&nbsp;is&nbsp;not&nbsp;compatible<br>&nbsp;&nbsp;LIBMYSQL_READY&nbsp;=&nbsp;3;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;DLL&nbsp;was&nbsp;loaded&nbsp;successfully<br><br>var<br>&nbsp;&nbsp;libmysql_handle:&nbsp;HMODULE&nbsp;=&nbsp;0;<br>&nbsp;&nbsp;libmysql_status:&nbsp;byte&nbsp;=&nbsp;LIBMYSQL_UNDEFINED;<br><br>function&nbsp;libmysql_load(name:&nbsp;pChar):&nbsp;byte;<br>procedure&nbsp;libmysql_free;<br><br>//&nbsp;-----------------------------------------------------------------------------------------------<br>IMPLEMENTATION<br>//&nbsp;-----------------------------------------------------------------------------------------------<br><br>function&nbsp;IS_PRI_KEY(n:&nbsp;longword):&nbsp;boolean;<br>begin<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;(n&nbsp;and&nbsp;PRI_KEY_FLAG)&nbsp;=&nbsp;PRI_KEY_FLAG;<br>end;<br><br>function&nbsp;IS_NOT_NULL(n:&nbsp;longword):&nbsp;boolean;<br>begin<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;(n&nbsp;and&nbsp;NOT_NULL_FLAG)&nbsp;=&nbsp;NOT_NULL_FLAG;<br>end;<br><br>function&nbsp;IS_BLOB(n:&nbsp;longword):&nbsp;boolean;<br>begin<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;(n&nbsp;and&nbsp;BLOB_FLAG)&nbsp;=&nbsp;BLOB_FLAG;<br>end;<br><br>function&nbsp;IS_NUM(t:&nbsp;longword):&nbsp;boolean;<br>begin<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;(t&nbsp;&lt;=&nbsp;FIELD_TYPE_INT24)&nbsp;or&nbsp;(t&nbsp;=&nbsp;FIELD_TYPE_YEAR);<br>end;<br><br>function&nbsp;IS_NUM_FIELD(f:&nbsp;PMYSQL_FIELD):&nbsp;boolean;<br>begin<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;(f.flags&nbsp;and&nbsp;NUM_FLAG)&nbsp;=&nbsp;NUM_FLAG;<br>end;<br><br>function&nbsp;INTERNAL_NUM_FIELD(f:&nbsp;PMYSQL_FIELD):&nbsp;boolean;<br>begin<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;(((f._type&nbsp;&lt;=&nbsp;FIELD_TYPE_INT24)&nbsp;and&nbsp;((f._type&nbsp;&lt;&gt;&nbsp;FIELD_TYPE_TIMESTAMP)&nbsp;or&nbsp;(f.length&nbsp;=&nbsp;14)&nbsp;or&nbsp;(f.length&nbsp;=&nbsp;8)))&nbsp;or&nbsp;(f._type&nbsp;=&nbsp;FIELD_TYPE_YEAR));<br>end;<br><br>function&nbsp;mysql_reload(_mysql:&nbsp;PMYSQL):&nbsp;longint;<br>begin<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;mysql_refresh(_mysql,&nbsp;REFRESH_GRANT);<br>end;<br><br>function&nbsp;libmysql_load(name:&nbsp;pChar):&nbsp;byte;<br><br>&nbsp;&nbsp;procedure&nbsp;assign_proc(var&nbsp;proc:&nbsp;FARPROC;&nbsp;name:&nbsp;pChar);<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;proc&nbsp;:=&nbsp;GetProcAddress(libmysql_handle,&nbsp;name);<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;proc&nbsp;=&nbsp;nil&nbsp;then&nbsp;libmysql_status&nbsp;:=&nbsp;LIBMYSQL_INCOMPATIBLE;<br>&nbsp;&nbsp;end;<br><br>begin<br>&nbsp;&nbsp;libmysql_free;<br>&nbsp;&nbsp;if&nbsp;name&nbsp;=&nbsp;nil&nbsp;then&nbsp;name&nbsp;:=&nbsp;'libmysql.dll';<br>&nbsp;&nbsp;libmysql_handle&nbsp;:=&nbsp;LoadLibrary(name);<br>&nbsp;&nbsp;if&nbsp;libmysql_handle&nbsp;=&nbsp;0&nbsp;then&nbsp;libmysql_status&nbsp;:=&nbsp;LIBMYSQL_MISSING<br>&nbsp;&nbsp;else&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;libmysql_status&nbsp;:=&nbsp;LIBMYSQL_READY;<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_num_rows,&nbsp;'mysql_num_rows');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_num_fields,&nbsp;'mysql_num_fields');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_eof,&nbsp;'mysql_eof');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_fetch_field_direct,&nbsp;'mysql_fetch_field_direct');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_fetch_fields,&nbsp;'mysql_fetch_fields');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_row_tell,&nbsp;'mysql_row_tell');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_field_tell,&nbsp;'mysql_field_tell');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_field_count,&nbsp;'mysql_field_count');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_affected_rows,&nbsp;'mysql_affected_rows');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_insert_id,&nbsp;'mysql_insert_id');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_errno,&nbsp;'mysql_errno');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_error,&nbsp;'mysql_error');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_info,&nbsp;'mysql_info');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_thread_id,&nbsp;'mysql_thread_id');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_character_set_name,&nbsp;'mysql_character_set_name');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_init,&nbsp;'mysql_init');<br>&nbsp;&nbsp;&nbsp;&nbsp;{$IFDEF&nbsp;HAVE_OPENSSL}<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_ssl_set,&nbsp;'mysql_ssl_set');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_ssl_cipher,&nbsp;'mysql_ssl_cipher');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_ssl_clear,&nbsp;'mysql_ssl_clear');<br>&nbsp;&nbsp;&nbsp;&nbsp;{$ENDIF}&nbsp;//&nbsp;HAVE_OPENSSL<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_connect,&nbsp;'mysql_connect');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_change_user,&nbsp;'mysql_change_user');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_real_connect,&nbsp;'mysql_real_connect');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_close,&nbsp;'mysql_close');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_select_db,&nbsp;'mysql_select_db');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_query,&nbsp;'mysql_query');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_send_query,&nbsp;'mysql_send_query');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_read_query_result,&nbsp;'mysql_read_query_result');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_real_query,&nbsp;'mysql_real_query');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_create_db,&nbsp;'mysql_create_db');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_drop_db,&nbsp;'mysql_drop_db');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_shutdown,&nbsp;'mysql_shutdown');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_dump_debug_info,&nbsp;'mysql_dump_debug_info');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_refresh,&nbsp;'mysql_refresh');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_kill,&nbsp;'mysql_kill');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_ping,&nbsp;'mysql_ping');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_stat,&nbsp;'mysql_stat');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_get_server_info,&nbsp;'mysql_get_server_info');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_get_client_info,&nbsp;'mysql_get_client_info');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_get_host_info,&nbsp;'mysql_get_host_info');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_get_proto_info,&nbsp;'mysql_get_proto_info');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_list_dbs,&nbsp;'mysql_list_dbs');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_list_tables,&nbsp;'mysql_list_tables');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_list_fields,&nbsp;'mysql_list_fields');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_list_processes,&nbsp;'mysql_list_processes');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_store_result,&nbsp;'mysql_store_result');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_use_result,&nbsp;'mysql_use_result');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_options,&nbsp;'mysql_options');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_free_result,&nbsp;'mysql_free_result');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_data_seek,&nbsp;'mysql_data_seek');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_row_seek,&nbsp;'mysql_row_seek');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_field_seek,&nbsp;'mysql_field_seek');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_fetch_row,&nbsp;'mysql_fetch_row');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_fetch_lengths,&nbsp;'mysql_fetch_lengths');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_fetch_field,&nbsp;'mysql_fetch_field');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_escape_string,&nbsp;'mysql_escape_string');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_real_escape_string,&nbsp;'mysql_real_escape_string');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_debug,&nbsp;'mysql_debug');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_odbc_escape_string,&nbsp;'mysql_odbc_escape_string');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@myodbc_remove_escape,&nbsp;'myodbc_remove_escape');<br>&nbsp;&nbsp;&nbsp;&nbsp;assign_proc(@mysql_thread_safe,&nbsp;'mysql_thread_safe');<br>&nbsp;&nbsp;end;<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;libmysql_status;<br>end;<br><br>procedure&nbsp;libmysql_free;<br>begin<br>&nbsp;&nbsp;if&nbsp;libmysql_handle&nbsp;&lt;&gt;&nbsp;0&nbsp;then&nbsp;FreeLibrary(libmysql_handle);<br>&nbsp;&nbsp;libmysql_handle&nbsp;:=&nbsp;0;<br>&nbsp;&nbsp;libmysql_status&nbsp;:=&nbsp;LIBMYSQL_UNDEFINED;<br>end;<br><br>//&nbsp;-----------------------------------------------------------------------------------------------<br>INITIALIZATION<br>//&nbsp;-----------------------------------------------------------------------------------------------<br><br>begin<br>&nbsp;&nbsp;{$IFNDEF&nbsp;DONT_LOAD_DLL}<br>&nbsp;&nbsp;libmysql_load(nil);<br>&nbsp;&nbsp;{$ENDIF}&nbsp;//&nbsp;DONT_LOAD_DLL<br>end;<br><br>//&nbsp;-----------------------------------------------------------------------------------------------<br>FINALIZATION<br>//&nbsp;-----------------------------------------------------------------------------------------------<br><br>begin<br>&nbsp;&nbsp;libmysql_free;<br>end;<br><br>end.
 
2、将libmysql.dll放在system目录下<br>3、工程中unit1代码如下:<br><br>unit&nbsp;Unit1;<br><br>interface<br><br>uses<br>&nbsp;&nbsp;Windows,&nbsp;Messages,&nbsp;SysUtils,&nbsp;Variants,&nbsp;Classes,&nbsp;Graphics,&nbsp;Controls,&nbsp;Forms,<br>&nbsp;&nbsp;Dialogs,&nbsp;DB,&nbsp;ADODB,&nbsp;StdCtrls,mysql;<br><br>type<br>&nbsp;&nbsp;TForm1&nbsp;=&nbsp;class(TForm)<br>&nbsp;&nbsp;&nbsp;&nbsp;Button1:&nbsp;TButton;<br>&nbsp;&nbsp;&nbsp;&nbsp;Memo1:&nbsp;TMemo;<br>&nbsp;&nbsp;&nbsp;&nbsp;procedure&nbsp;Button1Click(Sender:&nbsp;TObject);<br>&nbsp;&nbsp;private<br>&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;Private&nbsp;declarations&nbsp;}<br>&nbsp;&nbsp;public<br>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;connect:boolean;&nbsp;&nbsp;//连接mysql服务器<br>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;sel_db(db:string):boolean;&nbsp;//选择要连接的mysql的数据库<br>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;command(sql:string):boolean;&nbsp;&nbsp;//执行SQL语句<br>&nbsp;&nbsp;end;<br><br>var<br>&nbsp;&nbsp;Form1:&nbsp;TForm1;<br>&nbsp;&nbsp;My_SQL&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;PMYSQL;&nbsp;//全局变量<br>&nbsp;&nbsp;shost,suser,spass:string;<br>implementation<br><br><br>{$R&nbsp;*.dfm}<br><br>{&nbsp;TForm1&nbsp;}<br><br><br><br>function&nbsp;TForm1.command(sql:&nbsp;string):&nbsp;boolean;<br>begin<br>&nbsp;&nbsp;result:=false;<br>&nbsp;&nbsp;if&nbsp;mysql_query(My_SQL,&nbsp;pChar(sql))&lt;&gt;0&nbsp;then&nbsp;showmessage('excute&nbsp;sql&nbsp;error')&nbsp;else&nbsp;result:=true;<br>end;<br><br>function&nbsp;TForm1.connect:&nbsp;boolean;<br>begin<br>result&nbsp;&nbsp;:=false;<br>&nbsp;&nbsp;My_SQL:=&nbsp;mysql_init(nil);<br>&nbsp;&nbsp;if&nbsp;My_SQL&nbsp;=&nbsp;nil&nbsp;then&nbsp;&nbsp;<br>&nbsp;&nbsp;begin&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;showmessage('Couldn''t&nbsp;init&nbsp;PMYSQL&nbsp;object')&nbsp;;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;exit;&nbsp;<br>&nbsp;&nbsp;end;<br>&nbsp;&nbsp;if&nbsp;mysql_connect(My_SQL,&nbsp;pChar(sHost),&nbsp;pChar(sUser),&nbsp;pChar(sPass))&nbsp;&lt;&gt;&nbsp;nil<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then&nbsp;&nbsp;result:=true;<br><br>end;<br><br>function&nbsp;TForm1.sel_db(db:&nbsp;string):&nbsp;boolean;<br>begin<br>&nbsp;&nbsp;result:=false;<br>&nbsp;&nbsp;if&nbsp;mysql_select_db(My_SQL,pChar(DB))&nbsp;&lt;&gt;&nbsp;0&nbsp;then&nbsp;exit&nbsp;else&nbsp;result:=true;<br>end;<br><br>procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);<br>begin<br>shost:='localhost';<br>suser:='root';<br>spass:='';<br>if&nbsp;self.connect&nbsp;then&nbsp;showmessage('数据库运行正常!');<br>end;<br><br>end.<br><br>我一直以为以上做法可以连接到数据库,今天仔细一看,原来根本就没有用,里面的函数太难用了。不知道该怎么用。以上代码只是测试了数据库是否运行正常。<br><br>如何使用query控件执行sql语句呢?谢谢。。。
 
采用ODBC试使,我一直采用ODBC连接mysql数据。<br>在PHP中倒是可以直接连接
 
可以使用&nbsp;ZeosDBO组件
 
裝一下mysql的連接程式,然後通過odbc連接,或採用控件其他的方式
 
TO鳄鱼:<br>我原来用D6的时候用这个控件,可是现在需要用D7开发,这个控件用不了了。<br>TO另外两位:<br>请问您们连接的mysql以及myodbc驱动版本是多少?&nbsp;<br>我的:&nbsp;<br>mysql-4.0.13-win<br>mysql-connector-odbc-3.51.14-win32<br>delphi7<br><br>使用C:/WINDOWS/system32目录下的odbcad32配置系统DNS时测试正常(名称为‘xhh’),<br>直接使用table控件相连,设置别名databasename=xhh<br>选择表名称tablename时,要求输入用户名、密码,输入root以及空以后,提示无法连接
 
顶................................................
 
顶。。。。。。。。。。。。。。。。。。。。
 
顶部