asp 类型不匹配
<!--删除--><%dimxgsqll,xgrs,actionD,iddactionD=request("act")idd=cstr(request("hid"))if...
<!--删除-->
<%
dim xgsqll,xgrs,actionD,idd
actionD=request("act")
idd=cstr(request("hid"))
if actionD="del" then
set xgrs=server.CreateObject("adodb.recordset")
xgsqll="delete from administrators where sid="&idd
xgrs.open xgsql,con,1,1
response.write "<script>alert('删除成功')</script>"
end if
%>
<!--删除-->
<form id="form2" name="form2" method="post" action="">
<table cellpadding="0" cellspacing="0" width="600" border="1" align="center">
<tr>
<td width="112">姓名</td>
<td width="112">编号</td>
<td width="112">登陆名</td>
<td width="112">密码</td>
<td width="112">手机号</td>
<td width="60">操作</td>
</tr>
<tr>
<td><input name="txtName" type="text" id="txtName" size="16" /></td>
<td><input name="txtCode" type="text" id="txtCode" size="16" /></td>
<td><input name="txtLoginName" type="text" id="txtLoginName" size="16" /></td>
<td><input name="txtPwd" type="text" id="txtPwd" size="16" /></td>
<td><input name="txtNum" type="text" id="txtNum" size="16" /></td>
<td><a href="manageXueGuan.asp?act=del> <input type="hidden" name="hid" value="<%=xgrs("Id")%>"/> 删 除 </a></td>'此行报错,类型不匹配
</tr>
<%
xgrs.close()
set xgrs=nothing
%>
Access数据库自动生成的id值是int类型的还是string类型的,使用隐藏域接的值应该是string类型的吧?还需要做类型转换吗,怎么我转化了还是现实类型不匹配呢?我怀疑是id这个值没接到,可是页面无法显示,无法输出id的值,有高手能指点下吗 展开
<%
dim xgsqll,xgrs,actionD,idd
actionD=request("act")
idd=cstr(request("hid"))
if actionD="del" then
set xgrs=server.CreateObject("adodb.recordset")
xgsqll="delete from administrators where sid="&idd
xgrs.open xgsql,con,1,1
response.write "<script>alert('删除成功')</script>"
end if
%>
<!--删除-->
<form id="form2" name="form2" method="post" action="">
<table cellpadding="0" cellspacing="0" width="600" border="1" align="center">
<tr>
<td width="112">姓名</td>
<td width="112">编号</td>
<td width="112">登陆名</td>
<td width="112">密码</td>
<td width="112">手机号</td>
<td width="60">操作</td>
</tr>
<tr>
<td><input name="txtName" type="text" id="txtName" size="16" /></td>
<td><input name="txtCode" type="text" id="txtCode" size="16" /></td>
<td><input name="txtLoginName" type="text" id="txtLoginName" size="16" /></td>
<td><input name="txtPwd" type="text" id="txtPwd" size="16" /></td>
<td><input name="txtNum" type="text" id="txtNum" size="16" /></td>
<td><a href="manageXueGuan.asp?act=del> <input type="hidden" name="hid" value="<%=xgrs("Id")%>"/> 删 除 </a></td>'此行报错,类型不匹配
</tr>
<%
xgrs.close()
set xgrs=nothing
%>
Access数据库自动生成的id值是int类型的还是string类型的,使用隐藏域接的值应该是string类型的吧?还需要做类型转换吗,怎么我转化了还是现实类型不匹配呢?我怀疑是id这个值没接到,可是页面无法显示,无法输出id的值,有高手能指点下吗 展开
展开全部
一,idd不用转换,你一转换就出错。我给你说这个问题怎么解决,其实很简单,你把这一句idd=cstr(request("hid"))改成idd=request.querystring("hid")。
二,xgsqll="delete from administrators where sid="&idd。下面再加一句
rseponse.write xgsqll
response.end
三、查看一下输出的是个什么东西,这里要告诉你的是,输出的必须是这样的形式:
delete from administrators where sid="46515"
如果不是输出的这样的形式那就是错误的。你就需要在这个删除语句上修改,response.write输出的必须是这样的形式,否则你后面就要报错说类型不匹配。
四,一个小技巧。
如果navadd在数据库里面是文本就用下面的方法查询。nav是表的名字,navadd是变量.
navadd=request.querystring("id")
或者 navadd=request.form("name")
sql="select * from nav where navname="&""""&navadd&""""
或者也可以像下面这样的格式
sql="select * from nav where navname="&"'"&navadd&"'"
如果navadd在数据库里面是数字,就用下面的方法查询。
sql="select * from nav where navname="&navadd
注意,上面不需要什么转换整数之类的形式,你一转换就要说类型不匹配了。
删除同理。
大哥,我也是经常遇到说类型不匹配,然后网上查了很多资料,后来才悟出来这么个道理的,现在一直这么用,百试不爽,再也没有遇到类型不匹配这样的问题了。就是这么解决的。
二,xgsqll="delete from administrators where sid="&idd。下面再加一句
rseponse.write xgsqll
response.end
三、查看一下输出的是个什么东西,这里要告诉你的是,输出的必须是这样的形式:
delete from administrators where sid="46515"
如果不是输出的这样的形式那就是错误的。你就需要在这个删除语句上修改,response.write输出的必须是这样的形式,否则你后面就要报错说类型不匹配。
四,一个小技巧。
如果navadd在数据库里面是文本就用下面的方法查询。nav是表的名字,navadd是变量.
navadd=request.querystring("id")
或者 navadd=request.form("name")
sql="select * from nav where navname="&""""&navadd&""""
或者也可以像下面这样的格式
sql="select * from nav where navname="&"'"&navadd&"'"
如果navadd在数据库里面是数字,就用下面的方法查询。
sql="select * from nav where navname="&navadd
注意,上面不需要什么转换整数之类的形式,你一转换就要说类型不匹配了。
删除同理。
大哥,我也是经常遇到说类型不匹配,然后网上查了很多资料,后来才悟出来这么个道理的,现在一直这么用,百试不爽,再也没有遇到类型不匹配这样的问题了。就是这么解决的。
展开全部
idd=cstr(request("hid")) '转int,不是转str,其实不转都可以。
value="<%=xgrs("Id")%>" '此行,到底是sid还是id ??
请检查这两部分。
-------
回答你补充的内容:Access数据库自动生成的id值是int类型的。
value="<%=xgrs("Id")%>" '此行,到底是sid还是id ??
请检查这两部分。
-------
回答你补充的内容:Access数据库自动生成的id值是int类型的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
换成这样就可以了,把ID信息传递过去
<td><a href='manageXueGuan.asp?act=del&hid="<%=xgrs("Id")%>"'>删 除 </a></td>
<td><a href='manageXueGuan.asp?act=del&hid="<%=xgrs("Id")%>"'>删 除 </a></td>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if actionD="del" then ??
asp 是这么写的? 不是 actionD == "del" ? 好久不用了,都不记得了。
asp 是这么写的? 不是 actionD == "del" ? 好久不用了,都不记得了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%=xgrs("Id")%>,你这个值在哪,从你的程序里看不出来有这个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询