以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] foxtable 中 insert into 语句应用 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=22188) |
-- 作者:jspta -- 发布时间:2012/8/5 16:01:00 -- [求助] foxtable 中 insert into 语句应用 ACCESS数据源,语法如下, insert into {表1} (strNo) select "KN" union all select "KNn" 这句话在foxtable中怎么不能用哪? |
-- 作者:jspta -- 发布时间:2012/8/6 11:41:00 -- SQL这张大部分都是select,关于这部分很少, insert into {表1} (strNo) select "KN" 你可以去试下,这句话绝对没问题, insert into {表1} (strNo) select "KN" union all select "KNn" 不过是一次插入多行,用union all 合并。这句话是网上查到的,并没有实践过,但我想应该没有问题的,可是foxtable不能使用。 联合查询比多次查询速度快,所以我想写个一次插入多条,速度应该比多次插入快的。 |
-- 作者:zhangqinyun -- 发布时间:2012/8/6 11:46:00 -- 我也是Access 一条一条写是很慢,我上次100多天,写了3分钟。
我用的方法是创建个加载窗口,窗口里有Tbale空间(隐藏的)
用Table.Fill绑定要写入的窗口
再用AddNew写入数据
然后Save Table
最后关闭窗口
这样快很多,但也不是很好,感觉,谁有更好的方法阿。。。 |
-- 作者:yangming -- 发布时间:2012/8/6 11:58:00 -- Dim cmd As New SQLCommand cmd.ConnectionName = "数据库名" cmd.CommandText = "nsert into {表1} (strNo) select \'KN\' union all select \'KNn\' " 这样试试
|
-- 作者:jspta -- 发布时间:2012/8/6 13:43:00 -- 以下是引用zhangqinyun在2012-8-6 11:46:00的发言:
我也是Access 一条一条写是很慢,我上次100多天,写了3分钟。
我用的方法是创建个加载窗口,窗口里有Tbale空间(隐藏的)
用Table.Fill绑定要写入的窗口
再用AddNew写入数据
然后Save Table
最后关闭窗口
这样快很多,但也不是很好,感觉,谁有更好的方法阿。。。 100条3分钟应该不至于把,一条select SQL语句,大约0.02秒,insert 也差不多,10秒钟最多了把。 为什么我不用这绑定表那?这是系统记录,不需要载入。一次操作基本感觉不到。我只是想优化下 |
-- 作者:jspta -- 发布时间:2012/8/6 13:47:00 -- 以下是引用yangming在2012-8-6 11:58:00的发言:
Dim cmd As New SQLCommand cmd.ConnectionName = "数据库名" cmd.CommandText = "nsert into {表1} (strNo) select \'KN\' union all select \'KNn\' " 这样试试 好像还是不行,可能是不支持,就这样把,应该没问题的 |
-- 作者:狐狸爸爸 -- 发布时间:2012/8/6 14:43:00 -- 内部表,不允许Insert Into,请改用外部数据源。 |
-- 作者:jspta -- 发布时间:2012/8/6 14:52:00 -- 以下是引用狐狸爸爸在2012-8-6 14:43:00的发言:
内部表,不允许Insert Into,请改用外部数据源。 是用外部数据源, insert into {表1} (strNo) select "KN" 这句没有问题 但是这句insert into {表1} (strNo) select "KN" union all select "KNn" 就出错了,提示操作符丢失什么的。 |