asp中的数字型变量值怎么赋给sql语句? (50分)

  • 主题发起人 delphilai
  • 开始时间
D

delphilai

Unregistered / Unconfirmed
GUEST, unregistred user!
帮我解决一个asp技术问题:
{……
sql="SELECT * FROM imgdata WHERE id ="+id
rs.Open sql,conn,1,1
……}
字段id是access数据库的自动编号类型,变量id是数字型,怎么把id的值赋给sql语句????
 
id = rs("id").value ' 或者 cstr(rs("id").value)
sql = "SELECT * FROM imgdata WHERE id =" &
id
ASP不是强类型语言,可以直接连接的(连接符号是 &
不是 +),不放心的话,用强制
转换看看。
 
ID=RS("ID")就可以了吧,楼上的写法没用过
但我用都是这么写的
 
ID=RS("ID")我用过不下n>=100遍了!绝对没错!
 
我就是用cstr()函数的,好像不行阿。
<% dim conn
dim connstr
dim rs
dim sql
dim id
id = Cstr(request("id"))
on error resume next
call conn_init()
set rs=server.CreateObject("adodb.recordset")
sql="SELECT * FROM imgdata WHERE id="&amp;id
rs.Open sql,conn,1,1
%>
结果rs.recordcount总是为0,所以我认为sql有问题。sql语句里面的id是自动编号,外面的id是
获取数字型的值,现在要使sql语句和id连接又能使最后赋给sql里的id的值为数字型。请问怎么实现?
 
你的变量ID是怎么传过来的?传过来之前是什么形式?
 
试试拷贝一个adovbs.inc文件到你的目录
 
类型转换
cstr(id)
sql="SELECT * FROM imgdata WHERE id ="+cstr(id)
 

dim id
後加一句id=0試試看
 
下面的代码来自我以前做的网页, 应该没问题, 可以参考一下:
<%
id=trim(request("id"))
sql="delete query where id="&amp;id&amp;""
rs.open sql,conn
%>
 
同意楼上的
 
rs.Open sql,conn,1,1
这一句改为rs.Open sql,conn,3,3或rs.Open sql,conn,3,1
试试看!
 
可能是id两端有空格吧,用
id=Trim(request("id"))去掉空格,试试
 
用ALERT看下一下,输入的结果是什么!
 
问题不出在你说得那里,应该是游标的问题,要不改变游标方式,改为3,1,要不在判断数据集是否到结尾用eof,bof来判断!
出现这种情况,简单调试一下就会清楚的,在rs.Open sql,conn,1,1前面加一句把sql输出的语句(resonse.write sql),看sql是否正确即可!
 
是数据类型的问题,数字型和字符型
 
接受答案了.
 
顶部