Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
lin98 发表于: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楼
有点蓝 发表于:2025/4/21 9:23:00
这个表没有主键,或者是个查询表,不能使用true参数。
3楼
lin98 发表于:2025/4/21 10:44:00
这个表有主键,是发生上面问题
上面单个SQGL没报错,用上面有2个SQGL,就报错,
不象ADO模式不管写多个SQGL都可以,
会不会下面这种模式SQGLCommand的规则限制?
  
   
4楼
有点蓝 发表于:2025/4/21 10:55:00
ExecuteReader仅支持执行一条sql,单个表
[此贴子已经被作者于2025/4/21 10:54:59编辑过]
5楼
lin98 发表于:2025/4/21 11:50:00
实际应用需要多表,多SQL查询修改,保存,这个代码如何实现?
6楼
有点蓝 发表于:2025/4/21 11:56:00
只能一个个表来,处理完一个表,再处理另外一个表
7楼
lin98 发表于:2025/4/21 12:03:00
问题需求是1楼代码在实现不同的用户加载不同的数据后进行修改,保存,如何改?
8楼
有点蓝 发表于: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  ....
9楼
lin98 发表于: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 状态值。没有工作被完成。
10楼
lin98 发表于: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 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02246 s, 2 queries.