我们公司服务器的计算机名称为XWG,登陆进入的win2000操作系统的用户名为
administrator,密码为hlsxwg.我把要访问的hodata.mdb数据库放入服务器D盘的share文件夹,并将该share文件夹设为
共享,它的网络路径就是\\XWG\share\hodata.mdb.另外hodata.mdb的数据库密码是123456.我们的工作组名称为 workshop.
我写了以下示例代码来访问XWG这台服务器上的access数据库,hodata.mdb,大家一看就会明白:Dim strCnn,temppassword As String '定义一个字符串变量
Dim cnn As ADODB.Connection '声明数据连接变量
Dim rs1 As ADODB.Recordset '声明一个数据集对象变量
Private Sub Form_Load()
strCnn=\\XWG\share\hodata.mdb
temppassword=123456
'请问此处应如何填写连接字符串?
cnn.ConnectionString = "??????????????????????????????????"
Set cnn = New ADODB.Connection
cnn.Open Set rs1 = New ADODB.Recordset
rs1.Open "select * from 客户",cnn, adOpenKeyset, adLockOptimistic
if rs1.recordcount>0 then
msgbox "成功返回数据!"
End Sub
现在我想用Microsoft.Jet.OLEDB.4.0访问access数据库,请问此处的连接字符串strcnn的内容应如何填写?
我曾经试过将其设为
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strCnn;Jet OLEDB:database password=" + temppassword
我运行不成功,老是报错,我都不知到该怎么办了.
但是当我在网上邻居中,访问服务器的share文件夹时,输入用户名 administrator,密码hlsxwg后,程序可以运行。各位哥哥,帮帮我吧
administrator,密码为hlsxwg.我把要访问的hodata.mdb数据库放入服务器D盘的share文件夹,并将该share文件夹设为
共享,它的网络路径就是\\XWG\share\hodata.mdb.另外hodata.mdb的数据库密码是123456.我们的工作组名称为 workshop.
我写了以下示例代码来访问XWG这台服务器上的access数据库,hodata.mdb,大家一看就会明白:Dim strCnn,temppassword As String '定义一个字符串变量
Dim cnn As ADODB.Connection '声明数据连接变量
Dim rs1 As ADODB.Recordset '声明一个数据集对象变量
Private Sub Form_Load()
strCnn=\\XWG\share\hodata.mdb
temppassword=123456
'请问此处应如何填写连接字符串?
cnn.ConnectionString = "??????????????????????????????????"
Set cnn = New ADODB.Connection
cnn.Open Set rs1 = New ADODB.Recordset
rs1.Open "select * from 客户",cnn, adOpenKeyset, adLockOptimistic
if rs1.recordcount>0 then
msgbox "成功返回数据!"
End Sub
现在我想用Microsoft.Jet.OLEDB.4.0访问access数据库,请问此处的连接字符串strcnn的内容应如何填写?
我曾经试过将其设为
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strCnn;Jet OLEDB:database password=" + temppassword
我运行不成功,老是报错,我都不知到该怎么办了.
但是当我在网上邻居中,访问服务器的share文件夹时,输入用户名 administrator,密码hlsxwg后,程序可以运行。各位哥哥,帮帮我吧
Dim rs As New ADODB.Recordset'在MSHFLEXGRID表格控件中显示查询到的内容
Private Sub Command1_Click()
If rs.State = adStateOpen Then rs.Close
rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
Set MSHFlexGrid1.DataSource = rs
End Sub'向数据库中添加数据
Private Sub Command2_Click()
If rs.State = adStateOpen Then rs.Close
rs.Open "SELECT * FROM USERPASSWORD", cn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!UID = txtUid.Text
rs!PWD = txtPwd.Text
rs!TRUENAME = txtName.Text
rs!CREATEDATE = Format(Now, "YYYY/MM/DD")
rs.Update
Command1.Value = True
End Sub'从数据库中删除数据
Private Sub Command3_Click()
cn.Execute "DELETE FROM USERPASSWORD WHERE UID = '" & txtUid.Text & "'"
Command1.Value = True
End SubPrivate Sub Form_Load()
cn.ConnectionString = "DBQ=\\XWG\share\hodata.mdb;DefaultDir=" & _
App.Path & ";Driver={Microsoft Access Driver (*.mdb)};" & _
"DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;" & _
"MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;" & _
"Threads=3;UID=ADMIN;UserCommitSync=Yes;PWD=admind1234;"
cn.Open
'查询字符串可以上这里查
'http://www.connectionstrings.com/
End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
On Error Resume Next
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub不过不建议在局域网内访问共享的ACCESS数据库,如果多人同时访问的话容易损坏数据库文件!!
建议改用网络数据库!!
同意楼上
试试下面的
DbFileName="\\XWG\share\hodata.mdb"
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
DbFileName & ";Persist Security Info=False;"
With conn
.Open ConnectString, uid, pwd
End With
可以做成三层结构或者分布式
参考
http://blog.csdn.net/online/archive/2004/07/07/35994.aspx
Shell "net use \\XWG\share\ hlsxwg /user:administrator"
再运行连接........
程序方面跟你做的一样
Private Sub Form_Load()
strCnn=\\XWG\share\hodata.mdb
temppassword=123456
cnn.ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
strCnn & ";Persist Security Info=False;"
Set cnn = New ADODB.Connection
cnn.Open Set rs1 = New ADODB.Recordset
rs1.Open "select * from 客户",cnn, adOpenKeyset, adLockOptimistic
if rs1.recordcount>0 then
msgbox "成功返回数据!"
End Sub
建议将数据库换成sql
“工程”-->“引用”-->“Microsoft AxtiveX Data Objects 2.X Library”
注:2.X为版本号,如果你机子上有高版本的就用高版本的,如:2.5或2.6的Private Sub ComOK_Click()
Dim SQLstr As String,cnstr AS String
Dim cn AS New ADODB.Connection'连接对象
Dim rs As New ADODB.Recordset'记录集对象
cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=\\myServer\c:\inetpub\wwwroot\yourdb.mdb" '连接字符串
cn.open cnstr' 打开数据库连接
rs.CursorLocation =adUseClient
sqlstr="slect * from XXX表"
rs.open sqlstr,cn,3,3'执行SQL语句,并返回记录
set datagrid1.datasource=rs
datagrid1.refresh
rs.close'关闭记录集对象
set rs=nothing
End Sub
本示例是将数据库中的一张表的记录显示在datagrid的控件中。
注:myserver为服务器名可以为IP地址。
'网络连接Private Type NETRESOURCE
dwScope As Long
dwType As Long
dwDisplayType As Long
dwUsage As Long
lpLocalName As String
lpRemoteName As String
lpComment As String
lpProvider As String
End TypeGlobal Const NO_ERROR = 0
Global Const CONNECT_UPDATE_PROFILE = &H1
Global Const RESOURCETYPE_DISK = &H1
Global Const RESOURCETYPE_PRINT = &H2
Global Const RESOURCETYPE_ANY = &H0
Global Const RESOURCE_CONNECTED = &H1
Global Const RESOURCE_REMEMBERED = &H3
Global Const RESOURCE_GLOBALNET = &H2
Global Const RESOURCEDISPLAYTYPE_DOMAIN = &H1
Global Const RESOURCEDISPLAYTYPE_GENERIC = &H0
Global Const RESOURCEDISPLAYTYPE_SERVER = &H2
Global Const RESOURCEDISPLAYTYPE_SHARE = &H3
Global Const RESOURCEUSAGE_CONNECTABLE = &H1
Global Const RESOURCEUSAGE_CONTAINER = &H2Public Declare Function WNetAddConnection2 Lib "mpr.dll" Alias _
"WNetAddConnection2A" _
(lpNetResource As NETRESOURCE, _
ByVal lpPassword As String, _
ByVal lpUserName As String, _
ByVal dwFlags As Long) As LongPublic Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias _
"WNetCancelConnection2A" _
(ByVal lpName As String, _
ByVal dwFlags As Long, _
ByVal fForce As Long) As Long
'返回 0 成功连接 ,1 连接失败
Dim NetR As NETRESOURCE
Dim ErrInfo As LongNetR.dwScope = RESOURCE_GLOBALNET
NetR.dwType = RESOURCETYPE_DISK
NetR.dwDisplayType = RESOURCEDISPLAYTYPE_SHARE
NetR.dwUsage = RESOURCEUSAGE_CONNECTABLE
NetR.lpLocalName = Trim(r_host)
NetR.lpRemoteName = Trim(l_host)'先去掉映射
ErrInfo = WNetCancelConnection2(Trim(r_host), CONNECT_UPDATE_PROFILE, False)'重新映射
ErrInfo = WNetAddConnection2(NetR, Trim(u_pass), Trim(u_name), CONNECT_UPDATE_PROFILE)If ErrInfo = NO_ERROR Then
'MsgBox "Net connection successful!", vbInformation
my_net_conn = 0
Else
'MsgBox "ERROR: " & Str(ErrInfo) & " - Net connection unsuccessful!", _
'vbExclamation
my_net_conn = 1
End If
End Function
Public Function my_net_diconn(l_host As String) As Integer'返回 0 成功断开连接 ,1 断开连接失败Dim ErrInfo As Long
Dim strLocalName As StringstrLocalName = Trim(l_host)
ErrInfo = WNetCancelConnection2(Trim(l_host), CONNECT_UPDATE_PROFILE, False)If ErrInfo = NO_ERROR Then
'MsgBox "Net disconnection successful!", vbInformation
my_net_diconn = 0
Else
'MsgBox "ERROR: " & Str(ErrInfo) & " - Net disconnection unsuccessful!", _
'vbExclamation
my_net_diconn = 1
End IfEnd Function
共享时对数据库的操作会不会发生矛盾呀,估计也要来个操作系统中的P-V操作限制类式的东西