以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=149292)

--  作者:miaoqingqing
--  发布时间:2020/4/28 11:15:00
--  [求助]报错
系统菜单,默认隐藏,点击显示时报错

.NET Framework 版本:4.0.30319.34209
Foxtable 版本:2020.4.19.8
错误所在事件:
详细错误信息:
未将对象引用设置到对象的实例。


表头,关闭显示时,报错
.NET Framework 版本:4.0.30319.34209
Foxtable 版本:2020.4.19.8
错误所在事件:
详细错误信息:
未将对象引用设置到对象的实例。


--  作者:miaoqingqing
--  发布时间:2020/4/28 11:17:00
--  
access数据源,在项目里面没问题。移动到 服务器后报错,数据源路径  \\\\集团\\部门
--  作者:有点蓝
--  发布时间:2020/4/28 11:23:00
--  
检查项目事件代码。

BeforeConnectOuterDataSource事件有没有代码?

--  作者:miaoqingqing
--  发布时间:2020/4/28 11:29:00
--  
Dim ipfile As String = projectpath & "Bin\\ip.txt" \'定义Ipfile为配置文件
If filesys.FileExists(ipfile) = True Then
    \'先检测是否有Ip.txt这个配置文件
    Dim dbfile As String = filesys.ReadAllText(ipfile) \'将dbfile定义为配置文件的内容,即数据库的路径
    If dbfile <> "EFNnpR3RvQmwrYO2XCnRxODgpQsORd57hLFHltTK9C/Uy3NokLJKXqnSJ9QI5Afy3ZLRmcSxk7BaRY3YVxrx5GjLb12YubMwysgK44VW21+pQg7K1i8YA+eYw3FoJ5tBfHmU53S/AtyIr/59FHAegIbFUZIzyJ1cySjEQLPgEDo=" Then   \'若指定的数据库存在
        FileSys.WriteAllText(projectpath & "Bin\\ip.txt", "EFNnpR3RvQmwrYO2XCnRxODgpQsORd57hLFHltTK9C/Uy3NokLJKXqnSJ9QI5Afy3ZLRmcSxk7BaRY3YVxrx5GjLb12YubMwysgK44VW21+pQg7K1i8YA+eYw3FoJ5tBfHmU53S/AtyIr/59FHAegIbFUZIzyJ1cySjEQLPgEDo=", False)
    End If
End If

\'Dim ipfile As String = projectpath & "Bin\\ip.txt"   \'定义Ipfile为配置文件
If filesys.FileExists(ipfile) = True Then     \'先检测是否有Ip.txt这个配置文件
    Dim dbfile As String = filesys.ReadAllText(ipfile)  \'将dbfile定义为配置文件的内容,即数据库的路径?
    Dim Val3 As String = DecryptText(dbfile,"ss","ff") \'解密,两个密钥必须和加密的时候相同
    If e.name = "database" Then
        e.C & Val3 & ";Persist Security Info=False"  \' 若是数据库有密码,则加上:  ;jet OLEDB:DATABASE PASSWORD=123456
        
    End If
End If

代码见上面

--  作者:有点蓝
--  发布时间:2020/4/28 11:31:00
--  
projectpath改为e.projectpath
--  作者:miaoqingqing
--  发布时间:2020/4/28 12:31:00
--  回复:(有点蓝)projectpath改为e.projectpath
坛主,上面加密数据源路径后, 动态设置文件储存路径,失败,帮忙看看了

上传图片 上次文档  列属性设置了 存放目录
\\\\集团\\部门\\图片
\\\\集团\\部门\\文档
O:\\项目管理系统数据库\\mj\\图片
O:\\项目管理系统数据库\\mj\\文档

上传的图片或文档,全部只在上面图片或文档路径里面,不能上传到图片或文档文件夹里面再创建下面动态路径,下面代码哪里有问题?求助
也就是下面代码失效


Dim dr As DataRow = e.DataRow
If dr.IsNull("省市项目名称") Then
    msgbox("省市项目名称 不能为空")
    e.cancel = True
Else
    Select Case e.DataCol.Name
       
        Case "上传成果"
            e.SubFolder = dr("省市项目名称") & "\\" & dr("板块")  & "\\" & dr("上传文件名称")  & "\\" & dr("版次")  & "\\" & dr("上传者")  & "\\" & dr("上传日期")  & "_" & cstr(dr("上传时间")).Replace(":","_")
            \'取消了这列
        Case "上传计划"
            e.SubFolder = dr("省市项目名称") & "\\" & dr("板块")  & "\\" & dr("上传文件名称")  & "\\" & dr("版次")  & "\\" & dr("上传者")  & "\\" & dr("上传日期")  & "_" & cstr(dr("上传时间")).Replace(":","_")

    End Select
End If
[此贴子已经被作者于2020/4/28 12:38:11编辑过]

--  作者:有点蓝
--  发布时间:2020/4/28 14:19:00
--  
如果路径不存在是无法使用的,不存在的目录要自己先使用代码创建好,并且目录要一级一级的创建:http://www.foxtable.com/webhelp/topics/0332.htm
--  作者:miaoqingqing
--  发布时间:2020/4/28 14:53:00
--  回复:(有点蓝)如果路径不存在是无法使用的,不存在...
Dim dr As DataRow = e.DataRow
If dr.IsNull("省市项目名称") Then
    msgbox("省市项目名称 不能为空")
    e.cancel = True
Else
    If FileSys.DirectoryExists(e.DataCol.DefaultFolder & "\\" & dr("省市项目名称") & "\\" & dr("板块") & "\\" & dr("上传文件名称") & "\\" & dr("版次") & "\\" & dr("上传者") & "\\" & dr("上传日期") & "_" & cstr(dr("上传时间")).Replace(":","_")) = False
       FileSys.CreateDirectory(e.DataCol.DefaultFolder & "\\" & dr("省市项目名称") & "\\" & dr("板块") & "\\" & dr("上传文件名称") & "\\" & dr("版次") & "\\" & dr("上传者") & "\\" & dr("上传日期") & "_" & cstr(dr("上传时间")).Replace(":","_"))
    End If
\'同样的方法创建下级目录
     Select Case e.DataCol.Name
       \'
        Case "上传文档"
            e.SubFolder = dr("省市项目名称") & "\\" & dr("板块") & "\\" & dr("上传文件名称") & "\\" & dr("版次") & "\\" & dr("上传者") & "\\" & dr("上传日期") & "_" & cstr(dr("上传时间")).Replace(":","_")
            \'取消了这列
        Case "上传图片"
            e.SubFolder = dr("省市项目名称") & "\\" & dr("板块") & "\\" & dr("上传文件名称") & "\\" & dr("版次") & "\\" & dr("上传者") & "\\" & dr("上传日期") & "_" & cstr(dr("上传时间")).Replace(":","_")

    End Select
End If

上面代码,如果列都有值,不报错
但是如果列值有空,就不错,不行了
求助,允许列值为空,上面代码怎么修改

--  作者:有点蓝
--  发布时间:2020/4/28 14:57:00
--  
电脑系统目录不能为空名称,无法创建空名称的目录。
1、判断如果是空值提示录入数据再继续
2、空值不要合并到路径字符串里

--  作者:miaoqingqing
--  发布时间:2020/4/28 15:13:00
--  回复:(有点蓝)电脑系统目录不能为空名称,无法创建...
坛主,把两个以上连在一起的\\斜号,去除只剩1个,应该就可以了吧
这个功能应该很多人有这个需求,有空帮忙看这样能否实现满足空值了
[此贴子已经被作者于2020/4/28 15:14:12编辑过]