查错,很简单的问题,我头都大了,改了几次都不行,吐血竟然卡在这里

qyarron 2005-12-09 12:05:11
strSQL = "insert into Employees values"
For i = 0 To 2
For j = 1 To 6
strSQL = strSQL & "'Text1(i * 6 + j).Text'"
Next j
Next i

创建了动态控件Text1(),但那个SQL语句就是不对,请问错在那? 加了双引号竟然是'Text1(i * 6 + j).Text',不加上又通不过,
...全文
179 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiang81020 2005-12-09
  • 打赏
  • 举报
回复
SQL就是凑字符串的~要小心使用 ',",*运算符。你可以在字符串想加的地方设计个断点,查看一下想加后的字符串就知道了~~
你的程序结果:SQL的值为text1text2.....
没有把TEXT的值取到字符串里~~
faysky2 2005-12-09
  • 打赏
  • 举报
回复
最后一句没写完整,少了一个反括号,应该改为:
strSQL = Left(strSQL,Len(strSQL)-2) & ")" '去掉最后多余的逗号和引号,并把反括号加上
faysky2 2005-12-09
  • 打赏
  • 举报
回复
strSQL = "insert into Employees values("
For i = 0 To 2
For j = 1 To 6
strSQL = strSQL & "','" & Text1(i * 6 + j).Text & "','" '各个值需要用''引起来,而且要用逗号分开
Next j
Next i
strSQL = Left(strSQL,Len(strSQL)-2) '去掉最后多余的逗号和引号
winehero 2005-12-09
  • 打赏
  • 举报
回复
你这语句用引号将Text1....扩成了一个字符串...
改为:strSQL = strSQL & "'" & Text1(i * 6 + j).Text & "'"

不过SQL中Insert语句Values后面需要加上()的,你需要修改一下...
bbhere 2005-12-09
  • 打赏
  • 举报
回复
()
qyarron 2005-12-09
  • 打赏
  • 举报
回复
很感动大家的热心和效率!分太小有点对不起大家!
northwolves 2005-12-09
  • 打赏
  • 举报
回复
Dim s(1 To 18) As String, i As Integer, j As Integer
For i = 0 To 2
For j = 1 To 6
s(i * 6 + j) = "'" & Text1(i * 6 + j).Text & "'"
Next j
Next i
strSQL = "insert into Employees values(" & Join(s, ",") & ")"

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧