自动编号id的变量怎样在sql中引用

<%reid=request.form("id")setconn=server.createobject("adodb.connection")conn.openconn... <%
reid=request.form("id")
set conn=server.createobject("adodb.connection")
conn.open connstring
sql="delete * from date where userid=' " &reid& " ' "
conn.execute sql
conn.close
set conn=nothing
%>
提示
Microsoft JET Database Engine 错误 '80040e07'
标准表达式中数据类型不匹配。
行 7出错,行7的内容是这句 conn.execute sql
我的request.form("id")是从上一个网页中从数据库读出来然后用超链接传递过来的,数据类型是access自动编号的长整型,请问这是哪里出错了呢??reid的引用用了多种引号都不好使,顺便可不可以普及一下sql语句引用各种类型变量的写法
展开
 我来答
512578845
2014-03-27 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:122
采纳率:100%
帮助的人:124万
展开全部
sql="delete * from date where userid=" &reid
追问
最快回答,也是准确的答案,很感谢,不知道可否简单解析一下,为什么变量&reid前面有个双引号,而后面没有呢?
追答
对于 sql 字符串的拼接,你要理解他的意思,就是一串 常量字符串和一些 变量的相加构成动态的sql.  所以引号是成对出现的,&reid 的引号是和最前面的那个成对的,是把前面那一节 作为常量 字符串的意思,
这里就要涉及到 拼接的变量类型,如果是字符串 或者说在数据库 是varchar 货nvarchar 类型的都要用单引号,其他的类型就不用,还有时间类型,

所以如果你的reid 是个字符串 的或就要用单引号: 就该这样写
sql="delete * from date where userid=' " &reid& " ' "

这样的些的意思 本质 是 用单引号 把reid 包起来,前面半个=' " ,后面半个 " ' "
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式