以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQLJointableBuilder按照帮助里的操作运行出现异常  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44869)

--  作者:loongtai
--  发布时间:2014/1/10 16:57:00
--  [求助]SQLJointableBuilder按照帮助里的操作运行出现异常
有两表<流程更改日志>,<流程设计表>,现想通过SQLJointableBuilder提取指定列生成新的表,按照帮助里的操作
http://www.foxtable.com/help/topics/2314.htm
稍微修改下得到以下代码

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140110165151.jpg
图片点击可在新窗口打开查看

但在命令窗口里执行出现错误提示:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140110165200.jpg
图片点击可在新窗口打开查看
不知问题出在哪?
[此贴子已经被作者于2014-1-10 17:04:38编辑过]

--  作者:Bin
--  发布时间:2014/1/10 16:58:00
--  
你确定你表名正确吗?

也许数据源里的表名和你加载进来的表名不一致哦.

--  作者:loongtai
--  发布时间:2014/1/11 6:59:00
--  
原因找到了,的确是:数据源里的表名和加载进来的表名不一致。

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140111064943.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140111065747.jpg
图片点击可在新窗口打开查看
请问为何会出现不一致的现象,如果才能让两者一致呢?

--  作者:loongtai
--  发布时间:2014/1/11 7:34:00
--  
追问:由于jb.build()会生成可见的查询表,而我只想过程中使用这个表,于是就用cmd.ExecuteReader来生成一个临时的datatable。代码如下:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140111072835.jpg
图片点击可在新窗口打开查看
命令窗口中测试生成Select语句正常,但是却出现如下错误:

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140111072824.jpg
图片点击可在新窗口打开查看


--  作者:Bin
--  发布时间:2014/1/11 9:15:00
--  
上例子.
--  作者:loongtai
--  发布时间:2014/1/11 9:33:00
--  
这个是用SQL2005的外部数据源,例子不好上啊。
能解释下3楼的问题吗?我觉得可能还是因为表名不一致的问题


--  作者:Bin
--  发布时间:2014/1/11 9:38:00
--  
你添加外部数据表是可以自定义另起名字的,也就是别名. 你先检查一下数据库中的表名是否一致.排除这个原因先
.
这个没有例子,真的不好办. 你可以做个ACCESS数据源的例子上来看看.
[此贴子已经被作者于2014-1-11 9:39:21编辑过]

--  作者:loongtai
--  发布时间:2014/1/11 9:43:00
--  
好的,我先试试。谢谢



--  作者:loongtai
--  发布时间:2014/1/11 9:56:00
--  
问题解决了。解决步骤:
1.统一表名:数据源里的表名统一为“流程更改日志”
2.重新打开项目,出现无法加载“流程更改日志”的错误提示
3.进入项目后菜单:数据表-->外部数据表-->选择“流程更改日志”表-->编辑-->数据表文本框中重新选择“流程更改日志”-->OK

还是名称不统一造成的。
多谢版主。
[此贴子已经被作者于2014-1-11 9:56:26编辑过]

--  作者:loongtai
--  发布时间:2014/1/11 10:08:00
--  
Dim cmd As New SQLCommand
Dim
 dt As DataTable
cmd.ConnectionName = 
"region"
cmd.CommandText = 
"SELECT DISTINCT 省,市县,区号,邮编 From {行政区域}"
dt = cmd.ExecuteReader()
生成的dt,其dt.name="",这个dt可以命名吗?
因为一个内部函数的参数引用的是数据表名,而非数据表。
[此贴子已经被作者于2014-1-11 10:10:01编辑过]