以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]外部数据表查询  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=152941)

--  作者:江南小镇
--  发布时间:2020/7/27 8:08:00
--  [求助]外部数据表查询
老师,我在产品表添加单价列后下面代码报错。

Dim jb As New SQLJoinTableBuilder("查询表1","订单1")
jb.C
jb.AddTable("订单1","产品ID","产品","产品ID")
jb.AddCols("{订单1}.产品ID","产品名称","数量","单价")
\'jb.AddCols("产品名称", "{订单1}.*")             
jb.AddExp("金额", "数量 * {订单1}.单价")
jb.Build()
MainTable = Tables("查询表1")


.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.4.22.1
错误所在事件:窗口,查询表,Button1,Click
详细错误信息:
该特定字段 \'单价\' 可以参考 SQL 语句中 FROM 子句列表中的多个表。

[此贴子已经被作者于2020/7/27 8:31:55编辑过]

--  作者:有点蓝
--  发布时间:2020/7/27 8:50:00
--  
jb.AddCols("{订单1}.产品ID","产品名称","数量","{订单1}.单价")
--  作者:江南小镇
--  发布时间:2020/7/27 14:21:00
--  
谢谢老师
--  作者:江南小镇
--  发布时间:2020/7/28 6:16:00
--  
老师,下面代码不知道哪里不对。

.NET Framework 版本:2.0.50727.8762
Foxtable 版本:2017.4.22.1
错误所在事件:
详细错误信息:
至少一个参数没有被指定值。




Dim cmd As New SQLCommand
cmd.C
cmd.CommandText ="SEL  ECT 日期, {订单明细}.*, 产品名称 FROM ({订单明细} INNER JOIN {产品} ON {订单明细}.产品ID = {产品}.产品ID) INNER JOIN {订单1} ON {订单明细}.订单ID = {订单1}.订单ID ORDER BY 日期"   
                
                                               
Dim dst1 As Table = Tables("订单_Table1")
dst1.DataSource  = cmd.ExecuteReader()

--  作者:有点蓝
--  发布时间:2020/7/28 9:00:00
--  
看不出什么问题

确认表名列名都正确,并且不能使用临时表、表达式列

--  作者:江南小镇
--  发布时间:2020/7/29 13:50:00
--  
 老师,下面的关键词不能用编号做排序吗?

ORDER BY 编号
[此贴子已经被作者于2020/7/29 13:50:26编辑过]

--  作者:有点蓝
--  发布时间:2020/7/29 14:01:00
--  
只要不是表达式列,并且列名正确,肯定都可以使用
--  作者:江南小镇
--  发布时间:2020/7/29 14:15:00
--  
老师,列类型要改成数字的。
[此贴子已经被作者于2020/7/29 14:15:22编辑过]

--  作者:有点蓝
--  发布时间:2020/7/29 14:20:00
--  
任何类型的列都可以排序。二进制列和大数据列如ntext之类的除外
[此贴子已经被作者于2020/7/29 14:20:39编辑过]