以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  SQLTable 的sel*ect语句如何写呢  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148589)

--  作者:蓝蚂蚁
--  发布时间:2020/4/10 16:36:00
--  SQLTable 的sel*ect语句如何写呢
搞了半天都不会写这个se*lect语句,【医用耗材目录】与【产品配送公司】已进行了关联,通过目录编号进行的,在窗口1中插入Table1,类型:SQLTable,
Se*lect语句:SE*LECT {产品配送公司}.*,{产品配送公司}.产品配送公司_名称 FROM {产品配送公司} INNER JOIN {医用耗材目录} ON {产品配送公司}.目录编号 = {医用耗材目录}.目录编号 
se*lect语句说明:【医用耗材目录】要显示所有列,【产品配送公司】只显示“产品配送公司_名称”一列
请问老师,按照我的语句说明,这个Se*lect该如何写?谢谢!

--  作者:有点蓝
--  发布时间:2020/4/10 16:39:00
--  
SELECT {医用耗材目录}.*,{产品配送公司}.产品配送公司_名称 FROM {产品配送公司} INNER JOIN {医用耗材目录} ON {产品配送公司}.目录编号 = {医用耗材目录}.目录编号 
--  作者:蓝蚂蚁
--  发布时间:2020/4/10 16:41:00
--  
提示错误:至少一个参数没有被指定值
--  作者:有点蓝
--  发布时间:2020/4/10 17:05:00
--  
语句没有问题,如果有也是表名或者列名有问题。这些表数据库里有吗
--  作者:蓝蚂蚁
--  发布时间:2020/4/13 7:58:00
--  
把Table1的类型设置成SQLQuery就可以,设置成SQLTable就不行。另外在杂项里执行SQL粘贴这条语句能正常运行。
另外,我们论坛里有个帖子说:如果是sqlTable,语法不允许你有join。是由于这个问题吗
[此贴子已经被作者于2020/4/13 9:20:10编辑过]

--  作者:有点蓝
--  发布时间:2020/4/13 9:22:00
--  
是这个问题。多表关联只能使用SQLQuery。
--  作者:蓝蚂蚁
--  发布时间:2020/4/13 9:31:00
--  
如果是SQLQuery,帮助说是不能编辑的 ,但我工作上需要编辑这个表,有其他方法吗?是不是能用SQLJoinTableBuilder替代?
[此贴子已经被作者于2020/4/13 9:38:52编辑过]

--  作者:有点蓝
--  发布时间:2020/4/13 9:56:00
--  
多表关联无法编辑,就算可以编辑也保存不了。用什么都替代不了。

要编辑很简单,设置:Tables("窗口表").AllowEdit = true
但是无法直接保存,要保存需要通过SQL保存:http://www.foxtable.com/webhelp/topics/0696.htm

--  作者:蓝蚂蚁
--  发布时间:2020/4/13 11:13:00
--  
帮助中:
示例五

ExecuteReader有一个可选参数,如果设置为True,那么生成的DataTable不仅可以修改,还可以保存。
新建一个文件,在命令窗口测试下面的代码,会在A的第一行的第一列写入123:

Dim cmd As new SQLCommand
Dim
 dt As DataTable 
cmd
.CommandText = "se*lect * From {A}"
dt = cmd.ExecuteReader(
True\'记得将参数设置为True
dt
.DataRows(0)("第一列") = 123
dt.Save()

DataTables(
"A").Load() \'重新加载表A,看看值是否已经变化


提示错误:对于多个基表不支持动态 SQL 生成。
估计用SQL命令保存,对于多个基表也是不行。


--  作者:有点蓝
--  发布时间:2020/4/13 11:36:00
--  
9楼的是查询,不是保存。使用SQL保存指的是:http://www.foxtable.com/webhelp/topics/0690.htm、或者:http://www.foxtable.com/webhelp/topics/0691.htm