CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

提示有语法错误,可我怎么看都没错!!

楼主flybird99(飞鸟久久)2004-12-03 09:46:49 在 Web 开发 / ASP 提问

if   founderr=false   or   request.Form("check")<>""   then  
  set   rs=server.createobject("adodb.recordset")  
  sql="select   *   from   user   where   u_name="&u_name  
  response.Write   sql  
  response.End()  
  rs.open   sql,conn,1,3  
  if   not(rs.bof   and   rs.eof)   then  
  founderr=true  
  errmsg=errmsg   &   "<br><li>“"   &   u_Name   &   "”已经存在!请换一个用户名再试试!</li>"  
  else  
  rs   addnew  
   
  rs("u_name")=u_name  
  rs("u_password")=md5(u_password)  
  rs("u_email")=u_email  
  rs("u_question")=u_question  
  rs("u_reply")=u_reply  
  rs("u_date")=formatdatetime(now(),2)  
  if   u_occupation<>""   then  
  rs("u_occupation")=u_occupation  
  end   if  
  if   u_favor<>""   then  
  rs("u_favor")=u_favor  
  end   if  
  rs.update  
  rs.close  
  set   rs=nothing  
  end   if  
  end   if  
   
   
  主要内容就在这段,提示:  
  Microsoft   OLE   DB   Provider   for   SQL   Server   错误   '80040e14'    
   
  在关键字   'user'   附近有语法错误。    
   
  /user/user_reg2.asp,行   63    
   
  (也就是‘rs.open   sql,conn,1,3’这一行,说明上一行的sql句子有问题,可我没看出有错,我用的是sql   sever数据库,连接、权限都没问题) 问题点数:50、回复次数:15Top

1 楼lienzhu(李强)回复于 2004-12-03 09:50:27 得分 20

sql="select   *   from   [user]   where   u_name='"   &   u_name   &"'"Top

2 楼winter699()回复于 2004-12-03 09:52:16 得分 2

sql="select   *   from   user   where   u_name='"   &   u_name   &"'"Top

3 楼HHH3000(蓝色爱琴海 知耻而后勇)回复于 2004-12-03 09:53:13 得分 2

sql="select   *   from   user   where   u_name='"&   u_name   &"'"  
  Top

4 楼yjb136(菜鸟一只)回复于 2004-12-03 10:01:51 得分 2

sql="select   *   from   user   where   u_name="&u_name少了结束  
  sql="select   *   from   user   where   u_name='"&   u_name   &"'"这样才对,  
   
  再了不要查询所有的,你有那一个查那一个以防留下更多的漏洞  
   
  Top

5 楼flybird99(飞鸟久久)回复于 2004-12-03 10:03:52 得分 0

改了,不过又有新的错误提示:  
  Microsoft   VBScript   运行时错误   错误   '800a01c2'    
   
  错误的参数个数或无效的参数属性值:   'rs'    
   
  /user/user_reg2.asp,行   69    
   
  (就是‘rs   addnew’这一行)Top

6 楼dwowbaaa(王一斐)回复于 2004-12-03 10:06:17 得分 20

sql="select   *   from   [user]   where   u_name='"   &   u_name   &"'"  
  Top

7 楼cailover(菜)回复于 2004-12-03 10:06:58 得分 2

rs.addnewTop

8 楼dwowbaaa(王一斐)回复于 2004-12-03 10:08:43 得分 0

rs.addnewTop

9 楼flybird99(飞鸟久久)回复于 2004-12-03 10:08:46 得分 0

69行好了,我再看看Top

10 楼dwowbaaa(王一斐)回复于 2004-12-03 10:09:45 得分 0

if   u_occupation<>""   then  
  rs("u_occupation")=u_occupation  
  end   if  
   
  to  
   
  rs("u_occupation")=u_occupationTop

11 楼dwowbaaa(王一斐)回复于 2004-12-03 10:11:38 得分 0

加上  
   
  server_vv=len(Request.ServerVariables("SERVER_NAME"))'域名的长度  
  server_v1=left(Cstr(Request.ServerVariables("HTTP_REFERER")),server_vv)'来路的左边  
  server_v2=left(Cstr("http://"&Request.ServerVariables("SERVER_NAME")),server_vv)'来路的名称  
  if   server_v1<>server_v2   or   server_v1=""   or   server_v1=""   then  
  response.write("<script>alert('错误:禁止从站点外部提交数据!.')</script>")  
  Response.Redirect("index.asp")  
  response.end  
  end   ifTop

12 楼nan7757(骑着蚂蚁闯红灯)回复于 2004-12-03 10:13:35 得分 2

Active   Server   Pages,   ASP   0126   (0x80004005)   -->   找不到包含文件    
   
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E21)   -->   sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E14)   -->   sql语句出错(字段名错误,或数据类型不匹配)  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E07)   -->   sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E57)   -->   sql语句出错(要插入或更新的数据溢出)  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E10)   -->   sql语句出错(update字段名或要更新的数据类型错误)  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80004005)   -->   sql语句出错(要插入或更新的字段的数值不能为空值)  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80004005)    -->   打开数据库出错,没有在指定目录发现数据库  
  Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E37)   -->   没有发现表    
   
  Microsoft   VBScript   运行时错误   (0x800A000D)   -->   错误引用rs变量(rs对像已关闭或未定义)  
  Microsoft   VBScript   运行时错误   (0x800A01C2)   -->   vbscript脚本错误(vbscript语句出错)  
  Microsoft   VBScript   运行时错误   (0x800A0006)   -->   vbscript脚本错误(溢出错误)  
  Microsoft   VBScript   编译器错误   (0x800A040E)   -->   缺少loop  
  Microsoft   VBScript   编译器错误   (0x800A03EA)   -->   缺少if或end   if  
  Microsoft   VBScript   编译器错误   (0x800A03EE)   --> 语句未结束(缺少")")  
  Microsoft   VBScript   编译器错误   (0x800A03F6)   -->   if语句出错(缺少end   if)  
  Microsoft   VBScript   运行时错误   (0x800A005B)   -->   缺少set  
  Microsoft   VBScript   运行时错误   (0x800A0005)   -->   变量未定义  
  Microsoft   VBScript   编译器错误   (0x800A03F9)   -->   if语句缺少then  
  Microsoft   VBScript   编译器错误   (0x800A0411)   -->   dim语句定义错误  
  Microsoft   VBScript   编译器错误   (0x800A0408)   -->   sql语句错误(?????????????????)    
   
   
  ADODB.Recordset   (0x800A0BB9)   -->   sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)  
  ADODB.Recordset   (0x800A0CC1)   -->   rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)  
  ADODB.Recordset   (0x800A0BCD)   -->   rs对像出错(记录集中没有记录却对记录集进行操作)  
  ADODB.Recordset   (0x800A0E78)   -->   rs对像出错(记录集不存在,缺少rs.open语句)  
  ADODB.Recordset   (0x800A0CC1) -->   rs对像出错(引用了一个不存在的字段名)  
  ADODB.Recordset   (0x800A0E7D)   -->   conn定义错误  
  ADODB.Recordset   (0x800A0CB3)   -->   数据库以只读方式打开,无法更新数据。  
  Top

13 楼nan7757(骑着蚂蚁闯红灯)回复于 2004-12-03 10:15:01 得分 0

Microsoft   OLE   DB   Provider   for   ODBC   Drivers   (0x80040E14)   -->   sql语句出错(字段名错误,或数据类型不匹配)  
   
   
  数据库里面呢~??还有user好象是保留字??     改成       [user]         试试~~Top

14 楼dwowbaaa(王一斐)回复于 2004-12-03 10:20:25 得分 0

sql中的保留字  
   
  action   add   aggregate   all    
  alter   after   and   as    
  asc   avg   avg_row_length   auto_increment    
  between   bigint   bit   binary    
  blob   bool   both   by    
  cascade   case   char   character    
  change   check   checksum   column    
  columns   comment   constraint   create    
  cross   current_date   current_time   current_timestamp    
  data   database   databases   date    
  datetime   day   day_hour   day_minute    
  day_second   dayofmonth   dayofweek   dayofyear    
  dec   decimal   default   delayed    
  delay_key_write   delete   desc   describe    
  distinct   distinctrow   double   drop    
  end   else   escape   escaped    
  enclosed   enum   explain   exists    
  fields   file   first   float    
  float4   float8   flush   foreign    
  from   for   full   function    
  global   grant   grants   group    
  having   heap   high_priority   hour    
  hour_minute   hour_second   hosts   identified    
  ignore   in   index   infile    
  inner   insert   insert_id   int    
  integer   interval   int1   int2    
  int3   int4   int8   into    
  if   is   isam   join    
  key   keys   kill   last_insert_id    
  leading   left   length   like    
  lines   limit   load   local    
  lock   logs   long   longblob    
  longtext   low_priority   max   max_rows    
  match   mediumblob   mediumtext   mediumint    
  middleint   min_rows   minute   minute_second    
  modify   month   monthname   myisam    
  natural   numeric   no   not    
  null   on   optimize   option    
  optionally   or   order   outer    
  outfile   pack_keys   partial   password    
  precision   primary   procedure   process    
  processlist   privileges   read   real    
  references   reload   regexp   rename    
  replace   restrict   returns   revoke    
  rlike   row   rows   second    
  select   set   show   shutdown    
  smallint   soname   sql_big_tables   sql_big_selects    
  sql_low_priority_updates   sql_log_off   sql_log_update   sql_select_limit    
  sql_small_result   sql_big_result   sql_warnings   straight_join    
  starting   status   string   table    
  tables   temporary   terminated   text    
  then   time   timestamp   tinyblob    
  tinytext   tinyint   trailing   to    
  type   use   using   unique    
  unlock   unsigned   update   usage    
  values   varchar   variables   varying    
  varbinary   with   write   when    
  where   year   year_month   zerofill    
   
   
  SQL常用命令使用方法:  
   
  (1)   数据记录筛选:    
   
  sql="select   *   from   数据表   where   字段名=字段值   order   by   字段名   "    
   
  sql="select   *   from   数据表   where   字段名   like   ‘%字段值%‘   order   by   字段名   "    
   
  sql="select   top   10   *   from   数据表   where   字段名   order   by   字段名   "    
   
  sql="select   *   from   数据表   where   字段名   in   (‘值1‘,‘值2‘,‘值3‘)"    
   
  sql="select   *   from   数据表   where   字段名   between   值1   and   值2"    
   
  (2)   更新数据记录:    
   
  sql="update   数据表   set   字段名=字段值   where   条件表达式"    
   
  sql="update   数据表   set   字段1=值1,字段2=值2   ……   字段n=值n   where   条件表达式"    
   
  (3)   删除数据记录:    
   
  sql="delete   from   数据表   where   条件表达式"    
   
  sql="delete   from   数据表"   (将数据表所有记录删除)    
   
  (4)   添加数据记录:    
   
  sql="insert   into   数据表   (字段1,字段2,字段3   …)   valuess   (值1,值2,值3   …)"    
   
  sql="insert   into   目标数据表   select   *   from   源数据表"   (把源数据表的记录添加到目标数据表)    
   
  (5)   数据记录统计函数:    
   
  AVG(字段名)   得出一个表格栏平均值    
  COUNT(*|字段名)   对数据行数的统计或对某一栏有值的数据行数统计    
  MAX(字段名)   取得一个表格栏最大的值    
  MIN(字段名)   取得一个表格栏最小的值    
  SUM(字段名)   把数据栏的值相加    
   
  引用以上函数的方法:    
   
  sql="select   sum(字段名)   as   别名   from   数据表   where   条件表达式"    
  set   rs=conn.excute(sql)    
   
  用   rs("别名")   获取统的计值,其它函数运用同上。    
   
  (5)   数据表的建立和删除:    
   
  CREATE   TABLE   数据表名称(字段1   类型1(长度),字段2   类型2(长度)   ……   )    
   
  例:CREATE   TABLE   tab01(name   varchar(50),datetime   default   now())    
   
  DROP   TABLE   数据表名称   (永久性删除一个数据表)    
   
  4.   记录集对象的方法:    
   
  rs.movenext   将记录指针从当前的位置向下移一行    
  rs.moveprevious   将记录指针从当前的位置向上移一行    
  rs.movefirst   将记录指针移到数据表第一行    
  rs.movelast   将记录指针移到数据表最后一行    
  rs.absoluteposition=N   将记录指针移到数据表第N行    
  rs.absolutepage=N   将记录指针移到第N页的第一行    
  rs.pagesize=N   设置每页为N条记录    
  rs.pagecount   根据   pagesize   的设置返回总页数    
  rs.recordcount   返回记录总数    
  rs.bof   返回记录指针是否超出数据表首端,true表示是,false为否    
  rs.eof   返回记录指针是否超出数据表末端,true表示是,false为否    
  rs.delete   删除当前记录,但记录指针不会向下移动    
  rs.addnew   添加记录到数据表末端    
  rs.update   更新数据表记录    
   
   
  判断所填数据是数字型  
   
  if   not   isNumeric(request("字段名称"))   then    
  response.write   "不是数字"    
  else    
  response.write   "数字"    
  end   if  
   
  Top

15 楼flybird99(飞鸟久久)回复于 2004-12-03 10:28:39 得分 0

我在添写用户帐号加了个检测按扭,我也希望在用户添写完整个表单后也有这个检测,我用一个检测语句,如我最上面所列,但条件句加的不对,怎么加条件句才能两都兼顾Top

相关问题

  • select 语句提示语法错误??
  • 错误提示: = 附近有语法错误…… 帮我解决啊!
  • 那里错了,提示from语法错误,请帮忙更改!
  • 代码哪里错了啊?提示语法错误
  • update语句,提示操作符丢失,语法错误!
  • 为什么老提示“From子句语法错误”?
  • 提示循环有错,但我感觉没有语法错误!
  • VFP 6.0 为什么wait m.password会提示“语法错误”?
  • 关于更新Access语句的奇怪错误,提示是语法错误
  • 语法错误???

关键词

  • 字段
  • 语句
  • 数据
  • 函数
  • 数据库
  • 表格
  • 数据表
  • 字段名
  • x80040e
  • 错误

得分解答快速导航

  • 帖主:flybird99
  • lienzhu
  • winter699
  • HHH3000
  • yjb136
  • dwowbaaa
  • cailover
  • nan7757

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo