vb高手进,vb连接mysql数据库,怎么把数据写入数据库!

vb高手进,vb连接mysql数据库,怎么把数据写入数据库!,第1张

必须安装mysql的驱动才行,不管是vb还是c++都需要这个驱动。

代码如下:

public

function

exemysql(byval

sql

as

string)

as

adodb.recordset

sql

=

trim$(sql)

set

conn

=

new

adodb.connection

set

rs

=

new

adodb.recordset

conn.open

"driver=mysql

odbc

3.51

driver"

&

_

"server=服务器地址"

&

_

"port=3306"

&

_

"database=数据库名"

&

_

"uid=用户名"

&

_

"pwd=密码"

conn.defaultdatabase

=

"数据库名"

conn.cursorlocation

=

aduseclient

set

rs.activeconnection

=

conn

rs.locktype

=

adlockbatchoptimistic

rs.cursortype

=

adopenkeyset

rs.open

sql

set

exesql

=

rs

set

rs

=

nothing

set

conn

=

nothing

end

function

和SQL数据库差不多的,下面是我用vb6.0连接本地mysql数据库的连接字符串

"driver={MySQL ODBC 3.51 Driver}server=127.0.0.1database=mysqluid=rootpwd=sasa"

/在模块里编写(新建模块)

Public comm As New ADODB.Command

Public conn As New ADODB.Connection

Public uname As String

Public pwd As String

Public ulevel As Integer

Sub main()

conn.ConnectionString = "Provider=SQLOLEDB.1Persist Security Info=FalseUser ID=saInitial Catalog=wowData Source=."

conn.Open

Form1.Show

End Sub

'判断登陆是否成功(封装函数

Public Function isLogin(uname, pwd, ulevel) As Boolean

Dim flag As Boolean

comm.ActiveConnection = conn

comm.CommandType = adCmdStoredProc

comm.CommandText = "isLogin"

comm.Parameters(1).Type = adVarChar

comm.Parameters(1).Size = 50

comm.Parameters(1).Direction = adParamInput

comm.Parameters(1).Value = uname

comm.Parameters(2).Type = adVarChar

comm.Parameters(2).Size = 50

comm.Parameters(2).Direction = adParamInput

comm.Parameters(2).Value = pwd

comm.Parameters(3).Type = adInteger

comm.Parameters(3).Size = 4

comm.Parameters(3).Direction = adParamInput

comm.Parameters(3).Value = ulevel

comm.Parameters(4).Type = adInteger

comm.Parameters(4).Size = 4

comm.Parameters(4).Direction = adParamOutput

comm.Execute

If comm.Parameters(4).Value >0 Then

flag = True

Else

flag = False

End If

isLogin = flag

End Function

/在登陆窗体中调用封装函数实现登陆判断

Private Sub Command1_Click()

Dim uname As String

Dim pwd As String

Dim ulevel As Integer

uname = Text1.Text

pwd = Text2.Text

If Combo1.Text = "管理员" Then

ulevel = 1

Else

ulevel = 0

End If

If isLogin(uname, pwd, ulevel) Then

MsgBox "登陆成功", vbOKOnly, "提示"

Form2.Show

Unload Me

Else

MsgBox "登录失败", vbOKOnly, "提示"

End If

End Sub

Private Sub Command2_Click()

Text1.Text = Clear

Text2.Text = Clear

Text1.SetFocus

End Sub

Private Sub Command3_Click()

Unload Me

End Sub

Private Sub Command4_Click()

Form3.Show

Unload Me

End Sub

Private Sub Form_Load()

Combo1.AddItem "管理员"

Combo1.AddItem "用户"

End Sub

/在MYSQL企业管理器中编写存储过程:(选中以下编写的内容并执行即可生成存储过程)

create proc isLogin @uname varchar(50), @pwd varchar(50),@ulevel int, @flag int output

as

declare @count int

select @count=count(*) from [user] where

uname=@uname and pwd=@pwd and ulevel=@ulevel

if @count>0

set @flag=1

else

set @flag=0

create proc AddUser @uname


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6116626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存