以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  打印后台数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=51187)

--  作者:1234567
--  发布时间:2014/5/21 14:29:00
--  打印后台数据

假定有两个表:表A和订单表

表A的某一行是我的光标所在的行。

现在希望获得部分订单表的后台数据,建立一个临时的DataTable。

条件是订单表的第一列的数据包含了当前行的第一列数据

条件表达式如何设置?

 

打印后台数据

还记得SQLCommand吗?还记得SQLCommand的ExecuteReader方法吗?
有了ExecuteReader,我们可以直接利用SQL查询语言取得后台数据,得到一个临时的DataTable,使得打印后台数据成为可能:

Dim doc As New PrintDoc
Dim
rt As New prt.RenderTable
Dim
cmd As New SQLCommand \'定义一个SQL命令
Dim
dt As DataTable \'定义一个数据表变量
Dim
Count As Integer = 0
cmd.CommandText =
"Select * From {订单} Where 条件


--  作者:Bin
--  发布时间:2014/5/21 14:33:00
--  
cmd.CommandText = "Select * From {订单} Where  订单编号= \'123\' "
--  作者:1234567
--  发布时间:2014/5/21 14:38:00
--  

假如我的光标位置是表A的第一行,第一行的第一列是:A

表达式应该是

cmd.CommandText = "Select * From {订单} Where  订单编号= 包含A的所有行


--  作者:有点甜
--  发布时间:2014/5/21 14:45:00
--  

 是不是这个意思?

 

cmd.CommandText = "Select * From {订单} Where  订单编号= \'" & Tables("表A").Current("第一列") & "\' "


--  作者:1234567
--  发布时间:2014/5/21 14:47:00
--  

应该是,我测试一下。


--  作者:1234567
--  发布时间:2014/5/21 16:12:00
--  

cmd.CommandText = "Select * From {订单} Where  订单编号= \'" & Tables("表A").Current("第一列") & "\' "

 

 

当我光标位置停留在表A的第一行。

第一行,第一列的数据是A

订单表的订单编号为A的后台数据都能获得。

 

但不能获得订单编号为A1、A2、A3。。。的数据。


--  作者:有点甜
--  发布时间:2014/5/21 16:20:00
--  

 改成这样

 

cmd.CommandText = "Select * From {订单} Where  订单编号 like \'" & Tables("表A").Current("第一列") & "%\' "


--  作者:1234567
--  发布时间:2014/5/21 16:26:00
--  
OK