vb添加数据到access数据库问题,操作符丢失
DimConnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetConn.Open"Provider=Microsoft.Jet...
Dim Conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\user.mdb"
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\user.mdb"
Sql = "INSERT INTO login ([username],[password],[paypassword],[nam],[school],[address],[qq],[tel],[memberdj],[email],[stuid],[time],[hytime],[yue],[jifen],[zt]) Values ('" & hm & "','" & mm & "','" & pay & "','" & nam & "','" & sch & "','" & adr & "','" & qq & "','" & tel & "','" & "普通会员" & "','" & ema & "','" & xh & "','" & tim & "','" & "1" & "','" & "0" & "','" & "0" & "','" & "104" & "')"
Conn.Execute Sql
错误提示在最后一句,说是操作符丢失,实在找不到是哪里的问题
sql语句最后是执行了这一句,sql:
INSERT INTO login ([username],[password],[paypassword],[nam],[school],[address],[qq],[tel],[memberdj],[email],[stuid],[time],[hytime],[yue],[jifen],[zt]) Values ('125467','密码','二级密码','3','','Text4','1','2','普通会员','Text5','Text6','2017','1','0','0','104')
数据类型全都设置为文本类型,长度也都达到,没有有效性限制,检查过n遍了也没有发现拼写错误,拜托大神能帮帮忙 展开
Dim rs As New ADODB.Recordset
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\user.mdb"
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\data\user.mdb"
Sql = "INSERT INTO login ([username],[password],[paypassword],[nam],[school],[address],[qq],[tel],[memberdj],[email],[stuid],[time],[hytime],[yue],[jifen],[zt]) Values ('" & hm & "','" & mm & "','" & pay & "','" & nam & "','" & sch & "','" & adr & "','" & qq & "','" & tel & "','" & "普通会员" & "','" & ema & "','" & xh & "','" & tim & "','" & "1" & "','" & "0" & "','" & "0" & "','" & "104" & "')"
Conn.Execute Sql
错误提示在最后一句,说是操作符丢失,实在找不到是哪里的问题
sql语句最后是执行了这一句,sql:
INSERT INTO login ([username],[password],[paypassword],[nam],[school],[address],[qq],[tel],[memberdj],[email],[stuid],[time],[hytime],[yue],[jifen],[zt]) Values ('125467','密码','二级密码','3','','Text4','1','2','普通会员','Text5','Text6','2017','1','0','0','104')
数据类型全都设置为文本类型,长度也都达到,没有有效性限制,检查过n遍了也没有发现拼写错误,拜托大神能帮帮忙 展开
3个回答
展开全部
运行SQL语句追加记录行到ACCESS数据表,需要考虑的技术细节非常多,并不简单。即使代码完全没问题也不表示数据可以被正确插入,因为它还涉及到数据库表的种种约束如有效性规则、数据类型、表键值约束等等,还有被引用变量中的值也会对语句能否成功运行有直接关系。只有在所有细节都处理好的情况下语句才有可能被成功执行。
这里提示检查重点下列几点
1) 对于插入数据表的"常量值"如果属于"文本"的需要用一对英文单引号''括起来,如果被插入的文本常量本身还含有英文单引号,那么请将每1个单引号写成两个'';
2)对于插入数据表的"常量值"如果属于"日期/时间"类型的,必须用一对#号括起来,注意不能用单引号'括起来,否则会报错,这是ACCESS数据库的特殊要求。我发现题主的代码里没有将日期/时间常量用#号括起来而是用单引号,如果您的数据表不含日期/时间类型字段,可以忽略这个提示;
3)对于数字型常量不要加引号。
为了方便排错,建议题主在执行SQL语句前插入下面代码:
MsgBox Sql
然后将消息框截图贴出来,这样我们就可以比较直观地检查您的代码最终拼接出来的语句到底哪里有误了。这样查错会比较有效率。
这里提示检查重点下列几点
1) 对于插入数据表的"常量值"如果属于"文本"的需要用一对英文单引号''括起来,如果被插入的文本常量本身还含有英文单引号,那么请将每1个单引号写成两个'';
2)对于插入数据表的"常量值"如果属于"日期/时间"类型的,必须用一对#号括起来,注意不能用单引号'括起来,否则会报错,这是ACCESS数据库的特殊要求。我发现题主的代码里没有将日期/时间常量用#号括起来而是用单引号,如果您的数据表不含日期/时间类型字段,可以忽略这个提示;
3)对于数字型常量不要加引号。
为了方便排错,建议题主在执行SQL语句前插入下面代码:
MsgBox Sql
然后将消息框截图贴出来,这样我们就可以比较直观地检查您的代码最终拼接出来的语句到底哪里有误了。这样查错会比较有效率。
2017-04-12
展开全部
目测问题在最后一个括号 ) ,换成),看到了吗?换成英文半角的 ")" 试试
另外,固定的字符串值的话就不需要再跟变量一样,可以直接用 '值' 这样的形式;
再另外,Conn.Open语句,多了一行,发现了嘛?
比如 '" & "普通会员" & "' 可以写成 '普通会员'
另外,固定的字符串值的话就不需要再跟变量一样,可以直接用 '值' 这样的形式;
再另外,Conn.Open语句,多了一行,发现了嘛?
比如 '" & "普通会员" & "' 可以写成 '普通会员'
追问
厉害!我居然没发现是括号敲了个中文的进去
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
少了单引号,没有形成正确的sql语法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询