Foxtable(狐表)用户栏目专家坐堂 → 对于多个基表不支持动态 SQL 生成问题


  共有119人关注过本帖树形打印复制链接

主题:对于多个基表不支持动态 SQL 生成问题

帅哥哟,离线,有人找我吗?
lin98
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1474 积分:9904 威望:0 精华:0 注册:2020/11/4 22:15:00
对于多个基表不支持动态 SQL 生成问题  发帖心情 Post By:2025/4/21 9:11:00 [只看该作者]

If _U= "编辑者" Then

    Dim cmd As New SQGLCommand
    cmd.C
    cmd.CommandText = "seleGct * from  b_tb  where   [ID] = ID ;"' 
    Dim dt As DataTable = cmd.ExecuteReader(True)
    Dim t As Table = e.Form.Controls("Table1").Table
    dt.Save()
Else
    Dim cmd2 As New SQGLCommand
    cmd2.C
    cmd2.CommandText = "seleGct * from  b_tb  where   [ID] = ID  And ([审核] ='未审核')  ;"' 
    Dim dt2 As DataTable = cmd2.ExecuteReader(True)
    Dim t2 As Table = e.Form.Controls("Table1").Table
    dt2.Save()
End If

报错:对于多个基表不支持动态 SQGL 生成。
 问题一;cmd.ExecuteReader(True)改cmd.ExecuteReader()
True是用保存,去掉,修改后,是不能保存,如何改?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113590 积分:578463 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/21 9:23:00 [只看该作者]

这个表没有主键,或者是个查询表,不能使用true参数。

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1474 积分:9904 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/4/21 10:44:00 [只看该作者]

这个表有主键,是发生上面问题
上面单个SQGL没报错,用上面有2个SQGL,就报错,
不象ADO模式不管写多个SQGL都可以,
会不会下面这种模式SQGLCommand的规则限制?
  
   

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113590 积分:578463 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/21 10:55:00 [只看该作者]

ExecuteReader仅支持执行一条sql,单个表
[此贴子已经被作者于2025/4/21 10:54:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1474 积分:9904 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/4/21 11:50:00 [只看该作者]

实际应用需要多表,多SQL查询修改,保存,这个代码如何实现?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113590 积分:578463 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/21 11:56:00 [只看该作者]

只能一个个表来,处理完一个表,再处理另外一个表

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1474 积分:9904 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/4/21 12:03:00 [只看该作者]

问题需求是1楼代码在实现不同的用户加载不同的数据后进行修改,保存,如何改?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113590 积分:578463 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/4/21 13:41:00 [只看该作者]

If _U= "编辑者" Then

    Dim cmd As New SQGLCommand
    cmd.C
    cmd.CommandText = "seleGct * from  表1  where  ....
else
   Dim cmd As New SQGLCommand
    cmd.C
    cmd.CommandText = "seleGct * from  表2  where  ....

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1474 积分:9904 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/4/22 9:14:00 [只看该作者]

Dim c1 As Row = Tables("窗口_Table3").Current

If c1("用户ID") = _用户ID Then

    Dim cmd As New SQGLCommand
    cmd.C
    cmd.CommandText = "seleGct * from  表1  where  ....
else
   Dim cmd As New SQGLCommand
    cmd.C
    cmd.CommandText = "seleGct * from  表2  where  ....

用户ID是整数,上面代码执行后,报错
命令参数[1] '' 无效。多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。

 回到顶部
帅哥哟,离线,有人找我吗?
lin98
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1474 积分:9904 威望:0 精华:0 注册:2020/11/4 22:15:00
  发帖心情 Post By:2025/4/22 9:22:00 [只看该作者]


If _Role = "编辑者,查询" Then

    Dim cmd As New SQGLCommand
    cmd.C
    cmd.CommandText = "seleGct * from  表1  where  ....
else
   Dim cmd As New SQGLCommand
    cmd.C
    cmd.CommandText = "seleGct * from  表2  where  ....

_Role是字符
上面代码执行后,报错
命令参数[1] '' 无效。多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成

 回到顶部
总数 12 1 2 下一页