用户表的字段:用户ID,姓名,关系ID
订单表 的字段:用户ID,编辑者,物料,数量
需求:当前登录的_用户ID是订单表是用户ID,按where 用户ID=查询,否则 按where 用户表的关系ID查询,关系ID=_用户ID,
Dim db = HySqGGl.DataBaseFactory.CreateDatabase("db") '
Dim SqGGl4 = ""selecGGt COUNT(*) from 用户表 Where 用户ID = _用户ID ;"
Dim dt4 As system.data.DataTable = db.ExecuteDataSet(SqGGl4).Tables(0)
Dim dr As DataRow
dr = dt4.Rows(0) '
If dr IsNot Nothing Then
Dim SqGGl = "selecGGt * from 订单表 where 用户ID = _用户ID
SqGGl =窗口_Table1
Else
Dim SqGGl2 = "selecGGt A.* , B.关系ID from 订单表 A Inner Join 用户表 B ON A.用户ID =B.用户ID where 关系ID=_用户ID
SqGGl =窗口_Table1
End If
注;_用户ID是用户ID的全局变量
上面代码,在切换用户后,蓝代码失效,如何改
Dim SqGGlOrder2 = "SELECGGT A.*, B.关系ID FROM 订单表 A INNER JOIN 用户表 B ON A.用户ID = B.用户ID WHERE A.用户ID = @用户ID Dim dtOrder2 As DataTable = db.ExecuteDataSet(SGGqlOrder2, HySqGGl.ParameterPair.GetPair("@用户ID", _用户ID)).Tables(0) 窗口_Table1.DataSource = dtOrder2
单独执行,是可以查询到数据,但加上条件就失效?不知为什么
If dr IsNot Nothing Then
Dim SqGGl = "selecGGt * from 订单表 where 用户ID = _用户ID
SqGGl =窗口_Table1
Else
Dim SqGGlOrder2 = "SELECGGT A.*, B.关系ID FROM 订单表 A INNER JOIN 用户表 B ON A.用户ID = B.用户ID WHERE A.用户ID = @用户ID Dim dtOrder2 As DataTable = db.ExecuteDataSet(SGGqlOrder2, HySqGGl.ParameterPair.GetPair("@用户ID", _用户ID)).Tables(0) 窗口_Table1.DataSource = dtOrder2
[此贴子已经被作者于2025/4/2 11:11:34编辑过]