VB SQL修改数据 时好时坏 操作符丢失

很奇怪,大多时候都可以正常修改,有时却提示操作符丢失……我做了个单词本用来记录VB的一些知识及代码…难道是因为文本框里面储存的某些代码导致程序出错的吗?代码如下,请高人指... 很奇怪,大多时候都可以正常修改,有时却提示操作符丢失……

我做了个单词本用来记录VB的一些知识及代码…难道是因为文本框里面储存的某些代码导致程序出错的吗?
代码如下,请高人指点

Sub A修改数据()
cn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & App.Path & "\data.mdb"
Sql = "Update VB笔记 set 分类1='" & Form1.cbo输入(0).Text _
& "',分类2='" & Form1.cbo输入(1).Text & "' , 分类3='" & Form1.cbo输入(2).Text _
& "', 单词='" & Form1.RT输入(0).Text & "' , 解释='" & Form1.RT输入(1).Text _
& "', 说明='" & Form1.RT输入(2).Text & "'where 序=" & Form1.LabID & ""
cn.Execute (Sql)
cn.Close: Set cn = Nothing
End Sub
展开
 我来答
szqaly
2014-09-11 · TA获得超过1745个赞
知道大有可为答主
回答量:2107
采纳率:77%
帮助的人:1540万
展开全部

你说有时对有时错那就奇怪了,不过sql串中是可以找出点问题,看:& Form1.RT输入(2).Text & "'where 序=" & Form1.LabID & "" ,where与前单引号间应该要有空格隔开,最后的 & “” 也是多此一举。


没次修改都要连接数据库,影响效率,我建议这样了:

Function GetCn() as Connection
    static cn as new Connection
    if not cn.state=adStateOpen then'只有在尚没连接数据库的情况下建立连接
         cn.Open "provider=Microsoft.jet.OLEDB.4.0;data source=" & App.Path & "\data.mdb"
    End if
    set GetCn=cn
End Function
追问
那请问,直接call GetCn 就可以了吗?
最后的cn.Close: Set cn = Nothing这个还要不要呢?
追答
使用是这样就可以:
GetCn().Execute Sql

cn.Close: Set cn = Nothing 这些不要了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式