vb6中编程,怎么连接mysql数据库??

xzjxu 2002-04-05 09:35:35
如题,给出代码
...全文
223 点赞 收藏 16
写回复
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
playyuer 2002-04-08
http://mysql.adgrafix.com/Downloads/Win32/MyOLEDB3.exe

下载安装完有大量 VB + Mysql 的例程
回复
sonicdater 2002-04-08
怎么不行? 是不是你自己的 MySQL 没设置正确呀?
回复
xzjxu 2002-04-08
都不行
回复
sonicdater 2002-04-06
MyODBC Reference Manual for version 3.51.02
http://www.mysql.com/products/myodbc/manual_toc.html
-------------------------------------------------------------------
<%

on error resume next

dim adoConn
dim adoRS
dim counter

set adoConn = Server.CreateObject("ADODB.Connection")
set adoRS = Server.CreateObject("ADODB.Recordset")

adoConn.Open "DSN=mysql_dsn"
adoRS.ActiveConnection = adoConn

if adoConn.errors.count = 0 then

response.write "<h2>Fields In The 'Contacts' Table:</h2>"

adoRS.Open "describe contacts"
while not adoRS.EOF
response.write adoRS.fields(0).value & "<br>"
adoRS.MoveNext
wend

else

response.write "ERROR: Couldn't connect to database"

end if

%>
-------------------------------------------------------------------
OLE DB Provider for mySQL

oConn.Open "Provider=MySQLProv;" & _
"Data Source=mySQLDB;" & _
"User Id=myUsername;" & _
"Password=myPassword;"
-------------------------------------------------------------------
ODBC Driver for MySQL (via MyODBC)

To connect to a local database

oConn.Open "Driver={mySQL};" & _
"Server=MyServerName;" & _
"Option=16834;" & _
"Database=mydb;"
To connect to a remote database

oConn.Open "Driver={mySQL};" & _
"Server=db1.database.com;" & _
"Port=3306;" & _
"Option=131072;" & _
"Stmt=;" & _
"Database=mydb;" & _
"Uid=myUsername;" & _
"Pwd=myPassword;"
===================================================================

Good Luck !

回复
xzjxu 2002-04-06
baguijin999() ,下面
Gbl_DB_Con.Open "Provider = sqloledb;data source=devserver;user ID=sa;initial catalog=test_Excel;password= pass"
这句里的sqloledb,devserver,test_Excel是什么东西?代表什么意思?
回复
jamex 2002-04-05
先去MYSQL站点下载MYSQL ODBC驱动,最新3.5版
安装MYSQL ODBC后,建立DSN,就可以调用了!

http://www.mysql.com/downloads/api-myodbc-3.51.html
回复
dwei 2002-04-05
先去MYSQL站点下载MYSQL ODBC驱动,最新3.5版
安装MYSQL ODBC后,建立DSN,就可以调用了!
例如:
Public Function OpenDatabase() As Long
dim cn as New ADODB.Connection
On Error Resume Next

Err.Clear
With cn
.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=temp_data"
.ConnectionTimeout = 10
.CursorLocation = adUseClient
.Open
End With
If Err.Number <> 0 Then 'Failure
OpenDatabase = Err.Number
Else 'Success
OpenDatabase = 0
End If

End Function
试试吧 :P
回复
mingday 2002-04-05
好像得有MYSQL的驱动
回复
mingday 2002-04-05
好像得有的驱动
回复
xzjxu 2002-04-05
nebular(星云) ,哪儿有下载?给个连接
回复
xzjxu 2002-04-05
baguijin999() ,能不能详细说明一下,或者给个真实的例子?
哪儿有这方面的电子书?
回复
nebular 2002-04-05
去下一个MYSQL的OLEDB驱动
回复
baguijin999 2002-04-05
Set Gbl_DB_Con = New ADODB.Connection
Gbl_DB_Con.Open "Provider = sqloledb;data source=devserver;user ID=sa;initial catalog=test_Excel;password= pass"
建立数据集,
对数据集操作,
关闭数据集。
Dim RS_Get_Form_Name_Array As ADOR.Recordset
Set RS_Get_Form_Name_Array = New ADOR.Recordset

RS_Get_Form_Name_Array.close
set RS_Get_Form_Name_Array =nothing

Gbl_DB_Con.close
回复
baguijin999 2002-04-05
Option Explicit


'**************
'*变量定义部分*
'**************
'内部全局变量

Private Gbl_DB_InFact As ADODB.Connection '连接数据库
Private Gbl_Con_DB_STR_Flag As Boolean '数据库标志位



'方法1 M_Get_Sheet_Division 中变量的定义

'只读属性的临时变量,单据分区个数
Private Tmp_P_Sheet_Division_Array_Count As Long

'只读属性的临时变量,单据分区ID的数组
Private Tmp_P_Sheet_Division_ID_Array() As String

'只读属性的临时变量,单据分区名的数组
Private Tmp_P_Sheet_Division_Name_Array() As String

'判断方法 M_Get_Catalog 是否已经执行
Private Gbl_Get_Sheet_Division_Flag As Boolean




'方法2 M_Get_All_Form_Name 的变量定义

'只读属性的临时变量,单据种类个数
Private Tmp_P_All_Form_Name_Array_Count As Long

'只读属性的临时变量,单据种类名称的数组
Private Tmp_P_All_Form_Name_Array() As String

'判断方法 M_Get_All_Form_Name是否已经执行
Private Gbl_Get_All_Form_Name_Flag As Boolean





'方法3 M_Get_Scan_Date 的变量定义

'只读属性的临时变量,扫描日期的个数
Private Tmp_P_Scan_Date_Array_Count As Long

'只读属性的临时变量,扫描日期的数组
Private Tmp_P_Scan_Date_Array() As String

'判断方法 M_Get_Scan_Date 是否已经执行
Private Gbl_Get_Scan_Date_Flag As Boolean


'方法4 M_Get_Preview_FileName 的变量定义

'只读属性的临时变量,御览用文件名
Private Tmp_P_Preview_FileName As String

'判断方法 M_Get_Preview_FileName是否已经执行
Private Gbl_Get_Preview_FileName_Flag As Boolean



'方法5 M_Get_Sheet_ID 的变量定义

'只读属性的临时变量1,母图像文件名个数
Private Tmp_P_Sheet_ID_Array_Count As Long

'只读属性的临时变量2,母图像文件名的数组
Private Tmp_P_Sheet_ID_Array() As String

'只读属性的临时变量3,查询到的母图像中的项目名个数
Private Tmp_P_Field_Name_Array_Count As Long

'!!只读属性的临时变量4 查询到的母图像中的项目名的 ID
Private Tmp_P_Field_ID_Array() As String

'只读属性的临时变量5,查询到的母图像中的项目名数组
Private Tmp_P_Field_Name_Array() As String

'只读属性的临时变量6,查询到的母图像中未完成的项目的数组(指定为Integer)
Private Tmp_P_Not_Entried_Array() As Integer

'判断方法 M_Get_Sheet_ID 是否已经执行
Private Gbl_Get_Sheet_ID_Flag As Boolean






Private Sub Class_Initialize()
'数据库连接变量实例化
Set Gbl_DB_InFact = New ADODB.Connection

'判断方法 M_Get_Catalog 是否已经执行的变量的初始化
Gbl_Get_Sheet_Division_Flag = False

'判断方法 M_Get_All_From_Name 是否已经执行的变量的初始化
Gbl_Get_All_Form_Name_Flag = False

'判断方法 M_Get_Scan_Date 是否已经执行
Gbl_Get_Scan_Date_Flag = False

'判断方法 M_Get_Preview_FileName 是否已经执行的变量的初始化
Gbl_Get_Preview_FileName_Flag = False

'判断方法 M_Get_Sheet_ID 是否已经执行的变量的初始化
Gbl_Get_Sheet_ID_Flag = False

'数据库标志位的初始化
Gbl_Con_DB_STR_Flag = False
End Sub

Private Sub Class_Terminate()
Gbl_DB_InFact.Close
'释放数据库连接变量实例化
Set Gbl_DB_InFact = Nothing
End Sub






'/////////////////////////////////
'///The First Part Module Start///
'/////////////////////////////////
'*************************
'*方法 1 : 得到单据分区信息*
'*************************
'名称: M_Get_Sheet_Division

'输入: 无
'输出: 只读属性的临时变量,单据分区个数 Tmp_P_Sheet_Division_Array_Count
' 只读属性的临时变量,单据分区ID的数组 Tmp_P_Sheet_Division_ID_Array()
' 只读属性的临时变量,单据分区名的数组 Tmp_P_Sheet_Division_Name_Array()
' 内部变量,方法 M_Get_Sheet_Division 是否已经执行 Gbl_Get_Sheet_Division_Flag

Public Sub M_Get_Sheet_Division()
'定义循环变量
Dim i As Long

'数据库连接
Dim RS_Sheet_Division As ADOR.Recordset
Set RS_Sheet_Division = New ADOR.Recordset

'打开数据集
'SQL 语句 SELECT * FROM t_sheet_division ORDER BY f_sheet_division_id

RS_Sheet_Division.Open " SELECT * " _
& " FROM t_sheet_division ORDER BY f_sheet_division_id ", _
Gbl_DB_InFact, adOpenStatic, adLockReadOnly



If RS_Sheet_Division.RecordCount > 0 Then
RS_Sheet_Division.MoveFirst
RS_Sheet_Division.MoveLast
RS_Sheet_Division.MoveFirst

'将满足条件的记录数赋给私有变量
Tmp_P_Sheet_Division_Array_Count = RS_Sheet_Division.RecordCount

'数组重定义
ReDim Tmp_P_Sheet_Division_ID_Array(RS_Sheet_Division.RecordCount) As String
ReDim Tmp_P_Sheet_Division_Name_Array(RS_Sheet_Division.RecordCount) As String

'将查询的结果放到私有数组中
For i = 1 To RS_Sheet_Division.RecordCount

Tmp_P_Sheet_Division_ID_Array(i) = RS_Sheet_Division("f_sheet_division_id")
Tmp_P_Sheet_Division_Name_Array(i) = RS_Sheet_Division("f_sheet_division_name")

RS_Sheet_Division.MoveNext
Next

'该方法运行标志位置真
Gbl_Get_Sheet_Division_Flag = True
End If

'关闭数据集
RS_Sheet_Division.Close
Set RS_Sheet_Division = Nothing
回复
baguijin999 2002-04-05
Set Gbl_DB_Con = New ADODB.Connection
Gbl_DB_Con.Open "Provider = sqloledb;data source=devserver;user ID=sa;initial catalog=test_Excel;password= pass"



建立数据集
Dim RS_Get_Form_Name_Array As ADOR.Recordset
Set RS_Get_Form_Name_Array = New ADOR.Recordset

对数据集操作,
RS_Get_Form_Name_Array.open " sql语句 "
这里就可以对数据库操作了。
可以将 RS_Get_Form_Name_Array(“表中的字段名”)赋值给数组然后以属性的形式传出。


关闭数据集。
RS_Get_Form_Name_Array.close
set RS_Get_Form_Name_Array =nothing

Gbl_DB_Con.close

我给你找个例子吧。wait
www.21code.com
www.applevb.com
vb乐园都不错。
回复
playyuer 2002-04-05
http://mysql.adgrafix.com/Downloads/Win32/MyOLEDB3.exe
http://mysql.adgrafix.com/Downloads/Win32/mysql-oledb-3.0.0.zip

http://www2.linuxforum.net/mirror/mysql/Downloads/MySQL-Max-3.23/mysql-max-3.23.49-win.zip
http://www2.linuxforum.net/mirror/mysql/Downloads/MySQL-3.23/mysql-3.23.49-win.zip
http://mysql.adgrafix.com/Downloads/MySQL-Max-3.23/mysql-max-3.23.48-win.zip

http://mysql.adgrafix.com/Downloads/MyODBC/myodbc-2.50.39-dll.zip
http://mysql.adgrafix.com/Downloads/MyODBC/myodbc-2.50.39-win95.zip
http://mysql.adgrafix.com/Downloads/MyODBC/myodbc-2.50.39-nt.zip
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告