以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于数据转换  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=72115)

--  作者:affixed
--  发布时间:2015/7/23 16:02:00
--  关于数据转换
请问,我在开发时是使用ACCESS作为数据库。开发完毕后转为SQL,但数据库的SQLFind等语句都无法正常使用了。

这是怎么回事啊?

--  作者:大红袍
--  发布时间:2015/7/23 16:03:00
--  

 无法正常使用具体报什么错?

 

 sqlserver,日期列用单引号代替#,逻辑列,用1、0代替true、false


--  作者:affixed
--  发布时间:2015/7/23 16:11:00
--  
我的项目是登陆成功后就会立刻进行权限判断。
权限判断是通过Datatables的SQLFind来查询是否有符合条件的记录。如果有则返回逻辑型值1,否则返回0.

但用ACCESS数据库是完全可以执行的。但改用SQL后返回的值始终是0。

郁闷啊。

--  作者:大红袍
--  发布时间:2015/7/23 16:12:00
--  
 去sqlserver数据库,看是否有数据。
--  作者:affixed
--  发布时间:2015/7/23 16:15:00
--  
已经通过合并数据把所有数据都合并到SQL里了。
也进SQL查看过,数据没问题。都有的。

--  作者:大红袍
--  发布时间:2015/7/23 16:17:00
--  

看2楼。

 

贴出代码


--  作者:affixed
--  发布时间:2015/7/23 16:18:00
--  
权限判断函数:
Dim 菜单名 As String = Args(0)
Dim 结果 As Boolean
If Vars("userid") IsNot Nothing Then
    Dim dr As DataRow = DataTables("菜单表").SQLFind("菜单名称 = \'" & 菜单名 & "\' And 工号 Like \'%" & Vars("userid") & "%\'")
MessageBox.Show(菜单名 & Vars("userid") & Vars("username"))
    If dr IsNot Nothing Then
        结果 = 1
        Vars("动作") = 菜单名
    Else
        结果 = 0
    End If
End If
Return 结果

菜单按钮代码:
If Functions.Execute("权限判断",e.SplitButton.Name) = 0 Then
    MainTable = Tables("主页")
    MessageBox.Show("权限未开放","错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
Else
    BaseMainForm.Text = "KTS物料管理系统 - 【预算浏览】"
    Functions.Execute("浏览数据表","预算表")    
End If

我的设置是这样的。用ACCESS数据库,代码正常运行及返回数据都正确。用SQL数据库的话权限判断函数无论如何,返回的都是0

--  作者:大红袍
--  发布时间:2015/7/23 16:21:00
--  
 执行函数,弹出什么内容?请认真核对内容是否正确。
--  作者:affixed
--  发布时间:2015/7/23 16:25:00
--  
程序是全部执行完毕的。没有报错。但是正确的查询结果应该是返回1的。
用ACCESS是返回1,但用SQL就返回0了。

--  作者:大红袍
--  发布时间:2015/7/23 16:26:00
--  

弹出什么?

 

MessageBox.Show(菜单名 & Vars("userid") & Vars("username"))