以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] SQL语句插入行报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=52807) |
|
-- 作者:lsy -- 发布时间:2014/6/23 16:01:00 -- [求助] SQL语句插入行报错 InSert Into {订单} (产品,客户,雇员,单价,数量,日期,折扣,金额,已付款) Values (PD05,CS02,EP03,30.5,289,2012-02-13,0,8814.5,False)
ACCESS数据源,上面的代码,错在哪里,为什么会提示如下错误?
.NET Framework 版本:2.0.50727.3053
|
|
-- 作者:Bin -- 发布时间:2014/6/23 16:02:00 --
|
|
-- 作者:lsy -- 发布时间:2014/6/23 16:25:00 -- 谢谢Bin,连数据类型都忘判断了,该打。
想对比狐表的保存和SQL语句直接插入行,效率到底有何差距,测试结果,却是狐表更快。 是不是我的SQL语句,有缺陷?
Dim cmd As New SQLCommand [此贴子已经被作者于2014-6-23 16:25:53编辑过]
|
|
-- 作者:Bin -- 发布时间:2014/6/23 16:27:00 -- 试试 For Each r As Row In Tables("导入订单").Rows sql2 = "" For Each c As Col In Tables("导入订单").Cols If c.IsDate Then sql2 + = _rq & r(c.Name) & _rq & "," ElseIf c.IsString Then sql2 + = "\'" & r(c.Name) & "\'," Else sql2 + = r(c.Name) & "," End If Next cmd.CommandText = cmd.CommandText & vbcrlf & "InSert Into 订单 (" & sql1.Trim(",") & ") Values (" & sql2.Trim(",") & ")" Next cmd.ExecuteNonQuery
|
|
-- 作者:jspta -- 发布时间:2014/6/23 16:50:00 -- 用Union all连接SQL语句试试, |
|
-- 作者:lsy -- 发布时间:2014/6/23 16:53:00 -- 慢在cmd.CommandText的合成上。
现在想用下面的语句:
Dim cmd As New SQLCommand
但【导入订单】在内部数据源,而【订单】在ACCESS数据源,两个数据源如何兼顾?
|
|
-- 作者:Bin -- 发布时间:2014/6/23 16:55:00 -- 那就不能用这种方案. |
|
-- 作者:lsy -- 发布时间:2014/6/23 17:00:00 -- 谁有成套又高效的方法,请赐教。 狐表其他方面都简单快捷,就是最后一步:保存,不够快。 |
|
-- 作者:jspta -- 发布时间:2014/6/23 17:03:00 -- 以下是引用lsy在2014-6-23 16:53:00的发言:
慢在cmd.CommandText的合成上。
现在想用下面的语句:
Dim cmd As New SQLCommand
但【导入订单】在内部数据源,而【订单】在ACCESS数据源,两个数据源如何兼顾?
合成SQL语句不会慢把?除非你这个表非常大,SQL语句也有长度限制,可能要分批。 跨数据源的话就没办法按照插入表的方法了 |
|
-- 作者:lsy -- 发布时间:2014/6/23 17:20:00 -- 就两千多行,既然测试,就该用更多的数据。 |