其次,类似
Delete form TableName where id='1234'
的语句根本就没有错误,虽然你可以说它不是一个好的SQL语句
但至少在SQL SERVER,这个语句完全可以执行
这个真正的问题在于“+”号上。对于字符串连接,“+”号与
“&”号的区别也就在于“+”号不会做自动类型转换。所以你把
一个整数与字符串用“+”号连接,会报类型不匹配;用“&”则
不会。所以,真正解决问题的写法为
....."delete from tablename where id=" & j
或者
....."delete from tablename where id=" + cstr(j)
都可以。
dim j as integer
....."delete from tablename where id='"+j+"' "
我想和加不加单引号没有关系,因为我试过,sql语法中数值也可以用''引起来。
你可以改成"delete from tablename where id='" & j & "'"
试试,用"+"号有数值运算的含义,不如用&,连接字串,在连接之前自动转换成字串。
Delete from tablename where id='" + j + "'"
翻译成SQL语句其实是:Delete form TableName where id='1234'
这句语句会出现类型不匹配的错误。
因此要把单引号取消,改成:
strSQL="Delete form TableName where id=" + j
cn.Execute strSQL