Foxtable(狐表)用户栏目专家坐堂 → ExecuteReader的疑惑


  共有6293人关注过本帖树形打印复制链接

主题:ExecuteReader的疑惑

帅哥哟,离线,有人找我吗?
Bin
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/24 15:47:00 [只看该作者]

非常确定 他们2个不是同一个东西.  FT可视的表示你执行ExecuteReader生成的.并且带有表名的.
你用变量接收的表.并不是他在FT创建的表.而是另外一个.并且连表名都没有的.仅限于展示数据.不能对它执行其他操作的.

 回到顶部
帅哥哟,离线,有人找我吗?
不倒的翁
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
  发帖心情 Post By:2013/4/24 15:48:00 [只看该作者]

删除FT中手动添加的外部表,全部用SQL指令动态加载需要的数据本来就是为了加快系统速度的。。

 回到顶部
帅哥哟,离线,有人找我吗?
不倒的翁
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
  发帖心情 Post By:2013/4/24 15:49:00 [只看该作者]

狐爸怎么不见了。。。。

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/24 15:52:00 [只看该作者]

以下是引用不倒的翁在2013-4-24 15:48:00的发言:
删除FT中手动添加的外部表,全部用SQL指令动态加载需要的数据本来就是为了加快系统速度的。。

你这个无论如何都会在FT生成一个表的吧.可以禁止的吗? 我帮你呼叫狐爸吧

 回到顶部
帅哥哟,离线,有人找我吗?
不倒的翁
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
  发帖心情 Post By:2013/4/24 15:52:00 [只看该作者]

以下是引用Bin在2013-4-24 15:47:00的发言:
非常确定 他们2个不是同一个东西.  FT可视的表示你执行ExecuteReader生成的.并且带有表名的.
你用变量接收的表.并不是他在FT创建的表.而是另外一个.并且连表名都没有的.仅限于展示数据.不能对它执行其他操作的.

ExecuteReader本来就是为了生成能保存的临时表而存在的。。。

的确不是同一个东西。

我的FT中只保留一个启动用的表。其他全部删除,都是动态加载的。

2013版本中ExecuteReader能保存临时加载的试验后就得出我提出的问题的。。

[此贴子已经被作者于2013-4-24 15:52:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
不倒的翁
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
  发帖心情 Post By:2013/4/24 15:53:00 [只看该作者]

以下是引用Bin在2013-4-24 15:52:00的发言:

你这个无论如何都会在FT生成一个表的吧.可以禁止的吗? 我帮你呼叫狐爸吧

ExecuteReader加载的表不直接显示的。。。。。。。。只在后台内存中。。。


 回到顶部
帅哥哟,离线,有人找我吗?
唐尸三摆手
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:928 积分:7769 威望:0 精华:13 注册:2008/9/1 11:58:00
  发帖心情 Post By:2013/4/24 15:58:00 [只看该作者]

楼主,帮你分析了下

cmd.CommandText = "Select * From {tb1}"
Dim dt As DataTable = cmd.ExecuteReader(True)

'上述代码生成的dt并不是DataTables("tb1")

 

'所以下面一行代码是错误的:

Dim dr As DataRow = DataTables("tb1").DataRows(0)


提示:动态生成的dt是不能命名的。

如果是其他问题,我暂时还没升级到2013,所以没下载附件帮你测试

[此贴子已经被作者于2013-4-24 15:59:46编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
不倒的翁
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
  发帖心情 Post By:2013/4/24 16:01:00 [只看该作者]

以下是引用唐尸三摆手在2013-4-24 15:58:00的发言:

To: 楼主

cmd.CommandText = "Select * From {tb1}"
Dim dt As DataTable = cmd.ExecuteReader(True)

'上述代码生成的dt并不是DataTables("tb1")

 

'所以下面一行代码是错误的:

Dim dr As DataRow = DataTables("tb1").DataRows(0)


提示:动态生成的dt是不能命名的。

回唐尸:

Dim dr As DataRow = DataTables("tb1").DataRows(0)

 

这个不是我写的啦。

我写的是

Dim dt As DataTable = cmd.ExecuteReader(True)
Dim dr As DataRow = dt.DataRows(0)

如果dr更改

执行

dr.Save就出错。。

FT帮助中关于ExecuteReader的说明

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

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

dt也能定义cmd.ExecuteReader(True) 生成的表啊。

[此贴子已经被作者于2013-4-24 16:04:07编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
不倒的翁
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:3523 威望:0 精华:0 注册:2012/12/13 14:23:00
  发帖心情 Post By:2013/4/24 16:06:00 [只看该作者]

洗个澡准备下班。一会来回帖。

讨论问题是学习的一种方式。。

向大家学习了。。。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/24 16:23:00 [只看该作者]

可能有bug,我检查一下

 回到顶部
总数 27 上一页 1 2 3 下一页