找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 163|回复: 9

看看为什么不能更新数据呢?(谢谢各位已经解决)

[复制链接]
发表于 2010-1-10 03:25:41 | 显示全部楼层 |阅读模式 IP:江苏扬州
我写了个小程序,例如访问网址是http://bbs.bccn.net/tc.asp?com=adsdomain,如果是第一次使用该地址就记录adsdomain到数据库表tc中com字段,count字段作为记录该地址访问的次数,第一次为1.
如果第二次访问就更新1为2,以此类推。但是测试“更新数据失败”
代码如下:
tc.asp的代码
<!--#include file = pcconn.asp -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<%
  com=request("com")
  sql = "select * from tc where [com]='"&com&"'"
  Set rs = Server.CreateObject("ADODB.RecordSet")
  rs.Open sql,conn,1,1
  if rs.recordcount<>0 then
    id=rs("id")
               com=rs("com")
        count=rs("count")
         ne=count+1
              
Conn.Execute("update [tc] set count='"&ne&"' where id='"&id&"'")
      rs.close   
     '-------------------------------------------------------------------------

else
   Set rs = Server.CreateObject("ADODB.RecordSet")
  conn.Execute "insert into [tc] ([com]) values('"&com &"')"
      Response.Write("第一次访问记录")
end if

%>
</body>
</html>
<%
conn.close
set conn=nothing
%>

pcconn.asp 的代码
<%
set conn=Server.CreateObject("Adodb.Connection")
DBPath = Server.MapPath("pc.mdb")   'data.mdb为数据库文件名,datamdb/为路径,这两个要个数据库的文件名和路径保持一致!
conn.open "provider=Microsoft.Jet.oledb.4.0;data source="&DBpath
%>
数据库pc.mdb结构表名:tc
字段:id ,com,pccount
出错提示
错误类型:
Microsoft JET Database Engine (0x80040E14)
UPDATE 语句的语法错误。
/asptest/id2.asp, 第 26 行
错误行代码:
Conn.Execute("update [tc] set count='"&ne&"' where id='"&id&"'")
发表于 2010-1-10 03:25:45 | 显示全部楼层 IP:江苏扬州
Conn.Execute("update [tc] set [count]='"&ne&"' where id='"&id&"'")
count应该是SQL的关键字,作为字段使用的时候需要加[]
回复

使用道具 举报

发表于 2010-1-10 03:25:49 | 显示全部楼层 IP:江苏扬州
if rs.recordcount<>0 then
               id=rs("id")
               com=rs("com")
               count=rs("count")
               ne=count+1
              
               Conn.Execute("update [tc] set count='"&ne&"' where id='"&id&"'")
                rs.close
我看了还真的无语啊!   楼下你说呢!
count 是关键字!
回复

使用道具 举报

发表于 2010-1-10 03:25:54 | 显示全部楼层 IP:江苏扬州
Conn.Execute("update [tc] set count='"&ne&"' where id='"&id&"'")
使用rs自身的方法更新可以减少一些SQL语句错误
set rsUpdate=Server.CreateObject("ADODB.RecordSet")
rsUpdate.Open "select * from [tc] where id='"&id&"'",conn,1,3
if not rsUpdate.EOF Then
   rsUpdate("count")=ne
   rsUpdate.update
Else
   Response.Write "没有找到要更新的记录"
End IF
回复

使用道具 举报

发表于 2010-1-10 03:25:58 | 显示全部楼层 IP:江苏扬州
已经把count替换了,但是现实数据类型不匹配,是怎么解释啊?请教各位大侠了
回复

使用道具 举报

发表于 2010-1-10 03:26:02 | 显示全部楼层 IP:江苏扬州
出错提示
错误类型:
Microsoft JET Database Engine (0x80040E14)
UPDATE 语句的语法错误。
/asptest/id2.asp, 第 26 行
请看清除错误位置。发错误位置的代码/
回复

使用道具 举报

发表于 2010-1-10 03:26:10 | 显示全部楼层 IP:江苏扬州
我是楼下,但我不知道! 哈哈!开个玩笑
回复

使用道具 举报

发表于 2010-1-10 03:26:15 | 显示全部楼层 IP:江苏扬州
谢谢yms123,替换后显示数据类型不匹配.这是什么意思啊》?
回复

使用道具 举报

发表于 2010-1-10 03:26:19 | 显示全部楼层 IP:江苏扬州
清除错误位置后可以运行啊,就是每次访问都添加一个记录,count是数字id是自动编号的,count如果因为关键字不能使用但是我也看到其他程序也在使用这个也没有什么问题啊?请教各位了.
回复

使用道具 举报

发表于 2010-1-20 19:05:04 | 显示全部楼层 IP:日本
好久没去关注了,今天再去看看,谢谢了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 07:27 , Processed in 0.109390 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表