首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 未结束的字符串常量,多多指教,多谢了 [已结帖,结帖人:tianshizhiyi1987]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tianshizhiyi1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-05-15 17:42:09 楼主
    这个老是调试不过,请大家多多指教
    多谢了!
    提示是:编译器错误 (0x800A0409)


    <%
    dim cartid,id,name,price,quantity
    cartid=session("cartid")
    if cartid=""then cartid=0
    id=request("id1")
    name=request("name1")
    price=CCur(request("price1"))
    quantity=1

    set rscart=server.createobject("adodb.recordset")
    sql="select*from carts where cartid="&cartid
    rscart.open aql,conn,3,2

    if rscart.eof then
      rscart.addnew
      rsCart("cartdate")=date()
      rscart.update
      rscart.movelast
      cartid=rscart("cartid")
      session("cartid")=cartid
    end if
    rscart.close
    set rscart=nothing
    sql="insert into cartitems(cartid,productid,name,price,quantity)
    values("&cartid&","&id&",`"&name&"`,"&price&","&quantity&")"
    conn.execute sql
    set conn=nothing

    response.redirect"cart.asp"
    %>


    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chinmo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      6

      2

    发表于:2008-05-15 17:55:421楼 得分:10
    if rscart.eof then 这个错误,改为if not rscart.bof then
      rscart.addnew 用了这个那么必须加一个rscart.update匹配才是添加
      rsCart("cartdate")=date()
      rscart.update
      rscart.movelast
      cartid=rscart("cartid")
      session("cartid")=cartid
    rscart.update
    end if
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jhwcd
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-15 17:56:082楼 得分:50
    第几行有错误呀?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chinmo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      6

      2

    发表于:2008-05-15 17:56:583楼 得分:0
    以上看错了

    你是要排除存在的
    if rscart.eof then 最好改为if  rscart.bof then 
      rscart.addnew 用了这个那么必须加一个rscart.update匹配才是添加
      rsCart("cartdate")=date() 
      rscart.update 
      rscart.movelast 
      cartid=rscart("cartid") 
      session("cartid")=cartid 
    rscart.update
    end if 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sakeyi
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-15 17:59:474楼 得分:0
    sql="insert into cartitems(cartid,productid,name,price,quantity) 
    values("&cartid&","&id&",`"&name&"`,"&price&","&quantity&")"
    看看是否为符号问题,太久没写ASP了,
    '"&...&"'  ASP中变量是这么引用的吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chinmo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      6

      2

    发表于:2008-05-15 18:00:075楼 得分:0
    倒,没注意
    if rscart.eof then 最好改为if  rscart.bof then 
      rscart.addnew
      rsCart("cartdate")=date() 
      rscart.update 
      rscart.movelast  //这个删掉
      cartid=rscart.fields("cartid")   使用rscart.fields就可以获取刚刚插入的cartid号
      session("cartid")=cartid   
    end if 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chinmo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      6

      2

    发表于:2008-05-15 18:02:296楼 得分:0
    我不明白cartid你这个是自动编号吗??
    sql="select*from carts where cartid="&cartid
    如果不是自动编号,你

    if rscart.eof then 最好改为if  rscart.bof then   
      rscart.addnew
      rsCart("cartdate")=date()   
      rscart.update   
      rscart.movelast  //这个删掉 
      cartid=rscart.fields("cartid")  使用rscart.fields就可以获取刚刚插入的cartid号
      session("cartid")=cartid   
    end if 
    这个怎么写入cartid的值?没有写入那不就是空的吗?
    我晕你啊!!你到底再干吗哦!
    写的乱七八糟,我都看蒙了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jhwcd
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-15 18:07:237楼 得分:0
    看出来了!
    sql="insert into cartitems(cartid,productid,name,price,quantity) 
    values("&cartid&","&id&",`"&name&"`,"&price&","&quantity&")"
    这一句有问题,`"&name&"`改成'"&name&"'
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tianshizhiyi1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-15 21:17:528楼 得分:0
    values("&cartid&","&id&",'"&name&"',"&price&","&quantity&")"
    已经改成这样了,还是出现一样的错误提示啊!
    还请各位大哥继续指教,多谢!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wlwqw
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-15 21:24:069楼 得分:0
    首先7楼发现的错误是对的,但应该不是提示这个错误类型,
    sql="select*from carts where cartid="&cartid
    rscart.open aql,conn,3,2

    sql你写成aql了,这里错了,改成:
    sql="select * from carts where cartid="&cartid
    rscart.open sql,conn,3,2
    试试,如果不行请把错误提示在哪一行说出来方便大家看
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chinmo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      6

      2

    发表于:2008-05-15 21:31:3010楼 得分:0
    引用 6 楼 chinmo 的回复:
    我不明白cartid你这个是自动编号吗??
    sql="select*from carts where cartid="&cartid 
    如果不是自动编号,你

    if rscart.eof then 最好改为if  rscart.bof then   
      rscart.addnew 
      rsCart("cartdate")=date()   
      rscart.update
       
      rscart.movelast  //这个删掉 
      cartid=rscart.fields("cartid")  使用rscart.fields就可以获取刚刚插入的cartid号 
      session("cartid")=cartid     
    end if   
    这个怎么写入cartid的值?没有写入那不就是空的吗?
    我晕你啊!!你到底再干吗哦!
    写的乱七八糟,我都看蒙了


    你这不是乱七八糟的是什么???你这里哪个是写入cartid得?cartid你这个是自动编号吗
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tianshizhiyi1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-15 21:41:3411楼 得分:0
    恩改了,这个是现在的代码。
    还是出现一样的调试错误,
    Microsoft VBScript 编译器错误 (0x800A0409)
    未结束的字符串常量
    line 25, column 64
    sql="insert into cartitems(cartid,productid,name,price,quantity)
    提示是是上面那句错误

    <%
    dim cartid,id,name,price,quantity
    cartid=session("cartid")
    if cartid=""then cartid=0
    id=request("id1")
    name=request("name1")
    price=CCur(request("price1"))
    quantity=1

    set rscart=server.createobject("adodb.recordset")
    sql="select*from carts where cartid="&cartid
    rscart.open sql,conn,3,2

    if rscart.eof then
      rscart.addnew
      rsCart("cartdate")=date()
      rscart.update
      rscart.movelast
      cartid=rscart("cartid")
      session("cartid")=cartid
    end if
    rscart.close
    set rscart=nothing
    sql="insert into cartitems(cartid,productid,name,price,quantity)
    values("&cartid&","&id&",'"&name&"',"&price&","&quantity&")"
    conn.execute sql
    set conn=nothing

    response.redirect"cart.asp"
    %>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tianshizhiyi1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-15 21:45:5112楼 得分:0
    其实小弟只是要弄个购物车,功能就像当当网那样www.dangdang.com,类似的也行啊
    要是那位大哥有现成的,嘿嘿那就多谢了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chinmo
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

      6

      2

    发表于:2008-05-15 22:45:3913楼 得分:0
    不当我得回复存在,算了,我闪!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jhwcd
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-15 23:21:2514楼 得分:0
    你把sql="insert into cartitems(cartid,productid,name,price,quantity) 
    values("&cartid&","&id&",'"&name&"',"&price&","&quantity&")"
    输出来试试,可能有引号之类的字符没有过滤!!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jhwcd
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-15 23:22:2415楼 得分:0
    把SQL 输出来看看
    response.write sql
    response.end
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qianjin036a
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 00:03:3116楼 得分:0
    1.如果用了rscart.addnew,在后面要加一句:rscart.update
    2.如果进入时session("cartid")="",程序设置cartid=0,且后面有对session赋值,但,cartitems表中是否允许cartid为0?
    3.插入数据时,如列值为字符型,在语句中应加单引号,你的表中是否只有name是字符型的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qianjin036a
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 00:05:3717楼 得分:0
    VBScript code
    sql="insert into cartitems(cartid,productid,name,price,quantity)values("&cartid&","&id&",'"&name&"',"&price&","&quantity&")"

    应写在同一行上!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tianshizhiyi1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 00:06:3118楼 得分:0
    非常感谢王哥的帮助
    可是“输出来试试”是什么意思呢?
    该怎么做呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tianshizhiyi1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 00:17:5719楼 得分:0
    请教16楼
    rscart.update应该加在那呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tianshizhiyi1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 00:31:4420楼 得分:0
    sql="insert into cartitems(cartid,productid,name,price,quantity)values("&cartid&","&id&",'"&name&"',"&price&","&quantity&")"

    写在同一行以后,就会出现一下的出错提示:
    错误类型:
    ADODB.Recordset (0x800A0BB9)
    参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。
    /qnjy/小店/AddItem.asp, 第 12 行

    第 12 行:rscart.open sql,conn,3,2
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lzp4881
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 00:33:5721楼 得分:0
    有两种可能,
    1、sql="insert into cartitems(cartid,productid,name,price,quantity)values("&cartid&","&id&",'"&name&"',"&price&","&quantity&
    没有中间有换行,没有写成一行。
    2、
    看你的代码,cartid应该是自动编号,
    你想用
    rscart.addnew
      rsCart("cartdate")=date()
      rscart.update
      rscart.movelast
      cartid=rscart("cartid")
    取出新添加记录的cartid是不行的,造成cartid取出的是空值,所以后面insert的时候出错。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dogfish
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 01:01:2622楼 得分:10
    sql="insert into cartitems(cartid,productid,name,price,quantity) 
    values("&cartid&","&id&",'"&name&"',"&price&","&quantity&")"

    应该在同一行或则
    sql="insert into cartitems(cartid,productid,name,price,quantity)"_
        & " values("&cartid&","&id&",'"&name&"',"&price&","&quantity&")"
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tianshizhiyi1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 01:05:4723楼 得分:0
    '""'    是外面一个单引号  里面一个双引号没错吧 
    <%
    dim cartid,id,name,price,quantity
    cartid=session("cartid")
    if cartid=""then cartid=0
    id=request("id1")
    name=request("name1")
    price=CCur(request("price1"))
    quantity=1

    set rscart=server.createobject("adodb.recordset")
    sql="select*from carts where cartid="&cartid
    rscart.open sql,conn,3,2


    if rscart.eof then
      rscart.addnew
      rsCart("cartdate")=date()
      rscart.update
      rscart.movelast
      cartid=rscart("cartid")
      session("cartid")=cartid
    end if
    rscart.close
    set rscart=nothing

    sql="insert into cartitems(cartid,productid,name,price,quantity)
    values("&cartid&","&id&",'"&name&"',"&price&","&quantity&")"
    conn.execute sql
    set conn=nothing

    response.redirect"cart.asp"
    %>


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zanbije
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 01:05:5424楼 得分:0
    sql="insert into cartitems(cartid,productid,name,price,quantity)values("&cartid&","&id&",'"&name&"','"&price&"','"&quantity&"')"

    可能是类型不对吧!!看看数据库是用什么类型
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tianshizhiyi1987
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 01:09:1425楼 得分:0
    哥们 怎么过滤啊?好像就是这个问题 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kingwolf_JavaScript
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-05-16 01:23:1826楼 得分:0
    看看数据库是用什么类型
    修改 删除 举报 引用 回复
    进入用户个人空间