以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  网络连接的问题请教  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79023)

--  作者:ljh29206
--  发布时间:2015/12/23 8:45:00
--  网络连接的问题请教

BeforeOpenProject 事件

Dim str As String = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\\FoxTable(狐表)"
If FileSys.DirectoryExists(str) Then
    filesys.DeleteDirectory(str,2,2)
End If

shell( "net use  \\\\192.168.44.202\\e TBFCfs.2109 /user:Administrator",0)

If FileSys.FileExists("\\\\192.168.44.202\\e\\空滤数据库\\空滤数据库.mdb") = False Then
MessageBox.Show("数据库连接失败,准备启动备用系统!,该情况请联系班长")
E.Cancel = True
End If
-----------------------------------------------------------------------------

我把数据库放置在服务器(该主机常年不关机)共享文件里, 

客户端的电脑设置了,开机自动启动编译好的客户端, 代码如上, 用的是固态硬盘 ,快到  居然会  
出现 FileSys.FileExists("\\\\192.168.44.202\\e\\空滤数据库\\空滤数据库.mdb") = False  的情况,而且是每一次。

重新 在开启 客户端 就没问题了。

用机械硬盘的时候 ,没出现过这个问题!


求助如何解决!

[此贴子已经被作者于2015/12/23 8:46:26编辑过]

--  作者:大红袍
--  发布时间:2015/12/23 9:23:00
--  

等候执行完毕再弹出提示。

 

Dim p As new Process()
p.StartInfo.FileName = "cmd.exe"
p.StartInfo.UseShellExecute = False \'关闭Shell的使用
p.StartInfo.RedirectStandardInput = True \'重定向标准输入
p.StartInfo.RedirectStandardOutput = True \'重定向标准输出
p.StartInfo.RedirectStandardError = True \'重定向错误输出
p.StartInfo.CreateNoWindow = True \'设置不显示窗口
p.Start()
p.StandardInput.WriteLine("net use \\\\192.168.1.211\\共享的文件夹名  密码 /user:用户名")
p.StandardInput.WriteLine("exit")
\'Dim strRst As String = p.StandardOutput.ReadToEnd()

\'msgbox(strRst)


--  作者:ljh29206
--  发布时间:2015/12/23 9:37:00
--  
老师不懂 这段代码的作用是什么!

这样写 就能确保 网络 连通后在启动 系统吗


Dim str As String = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\\FoxTable(狐表)"
If FileSys.DirectoryExists(str) Then
    filesys.DeleteDirectory(str,2,2)
End If
Dim p As new Process()
p.StartInfo.FileName = "cmd.exe"
p.StartInfo.UseShellExecute = False \'关闭Shell的使用
p.StartInfo.RedirectStandardInput = True \'重定向标准输入
p.StartInfo.RedirectStandardOutput = True \'重定向标准输出
p.StartInfo.RedirectStandardError = True \'重定向错误输出
p.StartInfo.CreateNoWindow = True \'设置不显示窗口
p.Start()
p.StandardInput.WriteLine( "net use  \\\\192.168.44.202\\e TBFCfs.2109 /user:Administrator",0)
p.StandardInput.WriteLine("exit")
If FileSys.FileExists("\\\\192.168.44.202\\e\\空滤数据库\\空滤数据库.mdb") = False Then
MessageBox.Show("数据库连接失败,准备启动备用系统!,该情况请联系班长")
E.Cancel = True
End If

改成这样对吗?
[此贴子已经被作者于2015/12/23 9:48:56编辑过]

--  作者:大红袍
--  发布时间:2015/12/23 10:06:00
--  

这样写

 

p.StandardInput.WriteLine("net use  \\\\192.168.44.202\\e TBFCfs.2109 /user:Administrator")


--  作者:ljh29206
--  发布时间:2015/12/23 10:20:00
--  
老师,看不到代码

问下

这段代码的思路是什么 ,

能保证使网卡有效运行后 再 判断,网络的情况吗 

--  作者:大红袍
--  发布时间:2015/12/23 10:22:00
--  

意思是,先执行完命令

 

net use  \\\\192.168.44.202\\e TBFCfs.2109 /user:Administrator

 

再,继续下面的代码。1楼的代码,是异步执行的,不一定执行结束就运行下面的代码了。


--  作者:大红袍
--  发布时间:2015/12/23 10:23:00
--  
Dim str As String = System.Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) & "\\FoxTable(狐表)"
If FileSys.DirectoryExists(str) Then
    filesys.DeleteDirectory(str,2,2)
End If
Dim p As new Process()
p.StartInfo.FileName = "cmd.exe"
p.StartInfo.UseShellExecute = False \'关闭Shell的使用
p.StartInfo.RedirectStandardInput = True \'重定向标准输入
p.StartInfo.RedirectStandardOutput = True \'重定向标准输出
p.StartInfo.RedirectStandardError = True \'重定向错误输出
p.StartInfo.CreateNoWindow = True \'设置不显示窗口
p.Start()
p.StandardInput.WriteLine( "net use  \\\\192.168.44.202\\e TBFCfs.2109 /user:Administrator")
p.StandardInput.WriteLine("exit")
If FileSys.FileExists("\\\\192.168.44.202\\e\\空滤数据库\\空滤数据库.mdb") = False Then
    MessageBox.Show("数据库连接失败,准备启动备用系统!,该情况请联系班长")
    E.Cancel = True
End If