VB6.0如何用 libmySQL.dll API访问MYSQL数据库

MYSQL 应用十分广范,很多网站几乎都在用他,因为他的小巧和灵活性等方面让我决定要对他进行研究,到现在已经成功的不用经过ODBCADO等方式就可以读取和更新数据。

 

好了不多罗嗦,以下我来介绍总个程序的细节:

 

(一)API声明

 

1.  '分配或初始化适合mysql_real_connect()的一个MYSQL对像。
Public Declare Function mysql_init Lib "libmySQL" (ByVal lMysql As Long) As Long

 

2. '关闭一个以前打开了的连接
Public Declare Sub mysql_close Lib "libmySQL" (ByVal lMysql As Long)

 

3. '能用於设置额外连接选项并且影响一个连接的行为。
'
这个函数可以被多次调用来设置多个选项。
'mysql_options()
应该在mysql_init()之後和mysql_connect()mysql_real_connect()之前调用。
'option
参数是你想要设置的选项;
'arg  
参数是选项的值。如果选项是一个整数,那麽arg应该指向整数值。
Public Declare Function mysql_options Lib "libmySQL" _
                                (ByVal lMysql As Long, _
                                ByVal lOption As Long, _
                                ByVal sArg As String) As Long

 

4. 设置客户端访问的字符集 (这个很重要,访问中文时一定要用这个)

Public Declare Function mysql_set_character_set Lib "libmySQL" (ByVal lMysql As Long, ByVal cs_name As String) As Long

5.联接数据库

Public Declare Function mysql_real_connect Lib "libmySQL" _
                                (ByVal lMysql As Long, _
                                ByVal sHostName As String, _
                                ByVal sUserName As String, _
                                ByVal sPassword As String, _
                                ByVal sDbName As String, _
                                ByVal lPortNum As Long, _
                                ByVal sSocketName As String, _
                                ByVal lFlags As Long) As Long

 

6.执行查询操作

Public Declare Function mysql_query Lib "libmySQL" _
                                (ByVal lMysql As Long, ByVal sQueryString As String) As Long

 

7. 获取查询的结果集

Public Declare Function mysql_affected_rows Lib "libmySQL" (ByVal lMYSQL_RES As Long) As Long
Public Declare Sub mysql_data_seek Lib "libmySQL" _
                                (ByVal lMYSQL_RES As Long, ByVal lOffset As Currency)

Public Declare Function mysql_fetch_field_direct Lib "libmySQL" _
                                (ByVal lMYSQL_RES As Long, ByVal lFieldNum As Long) As Long
                               
Public Declare Function mysql_fetch_lengths Lib "libmySQL" (ByVal lMYSQL_RES As Long) As Long
Public Declare Function mysql_fetch_row Lib "libmySQL" (ByVal lMYSQL_RES As Long) As Long
Public Declare Function mysql_field_count Lib "libmySQL" (ByVal lMysql As Long) As Long

Public Declare Sub mysql_free_result Lib "libmySQL" (ByVal lMysql As Long)
Public Declare Function mysql_info Lib "libmySQL" (ByVal lMysql As Long) As Long
Public Declare Function mysql_insert_id Lib "libmySQL" (ByVal lMysql As Long) As Long
Public Declare Function mysql_num_fields Lib "libmySQL" (ByVal lMYSQL_RES As Long) As Long
Public Declare Function mysql_num_rows Lib "libmySQL" (ByVal lMYSQL_RES As Long) As Long
Public Declare Function mysql_store_result Lib "libmySQL" (ByVal lMysql As Long) As Long
Public Declare Function mysql_use_result Lib "libmySQL" (ByVal lMysql As Long) As Long

 

8. 出错信息获取

'status and error-reporting routines
Public Declare Function mysql_errno Lib "libmySQL" (ByVal lMysql As Long) As Long
Public Declare Function mysql_error Lib "libmySQL" (ByVal lMysql As Long) As Long

 

9. MYSQL 字段结构

Public Type typ_MYSQL_FIELD
   FieldName As Long           '
字段名称,由Null终结的字符串。如果用AS子句为该字段指定了别名,名称的值也是别名。
   org_Name As Long            '
段名称,由Null终结的字符串。忽略别名。
   Table As Long               '
包含该字段的表的名称,如果该字段不是计算出的字段的话。对于计算出的字段,表值为空的字符串。如果用AS子句为该表指定了别名,表的值也是别名。
   org_table As Long           '
表的名称,由Null终结的字符串。忽略别名。
   Db As Long                  '
字段源自的数据的名称,由Null终结的字符串。如果该字段是计算出的字段,db为空的字符串。
   Catalog As Long             'catalog
名称。该值总是"def"
   Def As Long                 '
该字段的默认值,由Null终结的字符串。仅当使用mysql_list_fields()时才设置它。
   Length As Long              '
字段的宽度,如表定义中所指定的那样。
   Max_length As Long          '
用于结果集的字段的最大宽度(对于实际位于结果集中的行,最长字段值的长度)。如果使用mysql_store_result()mysql_list_fields(),它将包含字段的最大长度。如果使用mysql_use_result()

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值