|  | 主题:  有关dw插入记录的问题!!! | 
            
                        
                
                    |  wangzairen
 职务:普通成员
 等级:2
 金币:0.0
 发贴:291
 注册:2003/1/24 12:45:59
 
 | 
                            
                            #12003/9/2 10:54:21 
                                我在用dw做记录插入时老出现这种情况,错误提示代码如下:Microsoft VBScript 编译器错误 错误 '800a03f6'
 
 缺少 'End'
 
 /iisHelp/common/500-100.asp,行242
 
 Microsoft JET Database Engine 错误 '80040e14'
 
 INSERT INTO 语句的语法错误。
 
 /english_web/insert.asp,行115
 
 第115行的代码为:MM_editCmd.Execute
 删掉这句就不会出错,但没有插入记录,不知道为什么?望高手指点!
 | 
                        
                
                    |  缺缺
 职务:管理员
 等级:8
 金币:41.0
 发贴:9620
 注册:2004/1/14 19:14:47
 
 | 
                            
                            #22003/9/2 11:24:45 
                                sql语句错误,一般导致这样的错误是表单没有能传递过去
                                
                                
                                
                             | 
                        
                
                    |  Such a lovely place
 职务:普通成员
 等级:2
 金币:10.0
 发贴:573
 注册:2001/11/4 21:15:56
 
 | 
                            
                            #32003/9/2 14:50:10 
                                MM_editCmd.Execute是定义插入记录的command的执行,当然不能删,删掉了也就不会插入记录了.
 其实提示的已经很清楚了:缺少 'End' ,就是你的if语句没有end if结束.但直到最后command执行也就是MM_editCmd.Execute时,才出错,所以提示你MM_editCmd.Execute有错,但并不是这里错:)
 | 
                        
                
                    |  缺缺
 职务:管理员
 等级:8
 金币:41.0
 发贴:9620
 注册:2004/1/14 19:14:47
 
 | 
                            
                            #42003/9/2 15:51:14 
                                no
 缺少end不是这个网页缺少end,所以不是这个错
 | 
                        
                
                    |  啦哈哈
 职务:普通成员
 等级:1
 金币:0.0
 发贴:5
 注册:2003/7/25 13:50:23
 
 | 
                            
                            #52003/9/4 17:46:05 
                                我做添加时,有时因为数据库时间用了date字段,就总是出错。
                                
                                
                                
                             | 
                        
                
                    |  风雨欲来
 职务:普通成员
 等级:1
 金币:1.0
 发贴:203
 注册:2003/4/11 22:22:27
 
 | 
                            
                            #62003/9/5 3:25:30 
                                Microsoft VBScript 编译器错误 错误 '800a03f6' 缺少 'End'
 
 服务器说的是VB脚本的错误,应该不是数据库的问题,应该是像小调雨后说的,是IF语句没有END结束的问题
 
 个人意见…………
 | 
                        
                
                    |  whoisspider
 职务:普通成员
 等级:1
 金币:1.0
 发贴:245
 注册:2002/9/25 18:04:34
 
 | 
                            
                            #72003/9/5 16:38:27 
                                allinhands说的是正确的!“b小调雨后”和“风雨欲来”是错的!
 
 那个报错信息有两个报错!
 
 -----------------------------------------------------------
 缺少 'End'
 /iisHelp/common/500-100.asp,行242
 -----------------------------------------------------------
 
 我机器上也报这个错,但不是用户的问题,这个是微软自己的问题!估计是报用户错误时调用了IIS里面的500-100.asp(看那个来源),而那个asp是有问题的,不过和用户没多大关系,我也懒的去分析那个问题!
 
 -----------------------------------------------------------
 Microsoft JET Database Engine 错误 '80040e14'
 
 INSERT INTO 语句的语法错误。
 
 /english_web/insert.asp,行115
 
 -----------------------------------------------------------
 这个才是用户的问题(看来源),数据库操作方面有问题!好好自己查查,有没有必填字段没填!有没有类型不匹配方面的!
 | 
                        
                
                    |  whoisspider
 职务:普通成员
 等级:1
 金币:1.0
 发贴:245
 注册:2002/9/25 18:04:34
 
 | 
                            
                            #82003/9/5 17:07:24 
                                最大可能还是allinhands说的情况!比如插入记录前从用户中收集表单元素:
 obj_rst("username") = trim(Request.Form("username"))
 
 如果递交的时候用户没有输入username,客户端也没有做判断!而username这个字段在数据库表中是必填自段,或不允许为空!那插入肯定就报错了!
 
 事实上,在客户和服务端都要对数据进行合法化的判断,如果数据非法则转到相应的页面,给予相应的提示信息,而不是让数据库报错来终止运行!让用户莫名其妙,不知所措!
 
 因为用户很可能把你的asp页地址收藏了,而不是通过正常的途径访问,被收藏的页面当然得不到传递的变量,如果数据库报错,普通用户(不要指望他们的计算机水平有多高!很多都是计算机白痴)很可能大骂:“破页面,昨天还好的,今天就瘫痪了!”他们不会理解其中的不同的!
 
 如果要开发商业程序,这种安全性和健壮性方面一定要做的好,所有特殊的可能都要考虑到!相当然的思路是大忌!许多程序的漏洞就是这方面造成的,而不是某某语言的问题!黑客是不会按正常途径来访问你的页面的,也不会给你传递正常途径的变量,他们想方设法用非法途径非法变量来试探你的程序的安全性和健壮性,并在薄弱处找到缺口,给予重创!
 | 
                        
                
                    |  glzz0708
 职务:普通成员
 等级:1
 金币:0.0
 发贴:11
 注册:2003/3/19 11:42:38
 
 | 
                            
                            #92003/9/10 2:27:48 
                                问题还是没有解决,
                                
                                
                                
                             | 
                        
                
                    |  缺缺
 职务:管理员
 等级:8
 金币:41.0
 发贴:9620
 注册:2004/1/14 19:14:47
 
 | 
                            
                            #102003/9/10 11:38:32 
                                如果告诉你原因你还不能解决,不知道我还能做些什么
                                
                                
                                
                             | 
                        
                
                    |  glzz0708
 职务:普通成员
 等级:1
 金币:0.0
 发贴:11
 注册:2003/3/19 11:42:38
 
 | 
                            
                            #112003/9/10 15:02:07 
                                大哥,不要误会,这个不是我用两个名字发的帖子,我也是在研究这个问题罢了
                                
                                
                                
                             | 
                        
                
                    |  whoisspider
 职务:普通成员
 等级:1
 金币:1.0
 发贴:245
 注册:2002/9/25 18:04:34
 
 | 
                            
                            #122003/9/10 16:12:24 
                                INSERT INTO 语句的语法错误。 --------------------------------------------------- 因为楼主提供的资料和线索太少,我以前也没碰到类似的问题,所以以上回答基本都是猜测,现在看来,基本都错了,“啦哈哈”的回答“我做添加时,有时因为数据库时间用了date字段,就总是出错。”有一定参考价值,但是“啦哈哈”注意到了这个现象,但不知道问题发生的根源和本质!也就不会预防这个问题的发生!www.5d.cn/bbs/NewsDetail.asp?id=919220 如果不是自己尝试去解决了这个问题,我现在可能也不会意识到这个问题,除非自己也碰到这个问题,不过我相信我碰到的时候能自己解决。 好了,想仔细了解这个问题的可以去看看那个帖子! 以后碰到“INSERT INTO 语句的语法错误。”这个问题,可以去查查两个方面: 1.INSERT INTO语句有没有写错,比如,如果没写INTO就会报这个错! 2.INSERT INTO语句中包含的字段名是不是保留字!以下是以前ACCESS版本的保留字(最新的保留字不清楚,password现在已经成保留字了):www.371e.com/ReadNews.asp?NewsID=6348 看过上面的保留字,大家就能明白“啦哈哈”说的现象了,"date"是保留字导致问题的发生! 要解决这个问题,还是看我上面链接里说的!两个帖子结合起来看,相信解答的够详细了。楼主没回答并不代表问题没有解决,也许楼主自己已经解决问题了,他感觉没必要来这里解释一番了。 自己两个星期前才开始写第一个ASP程序,ASP一些方面还没涉及到,许多问题没有遇到过,所以我不能保证我说的写的都是正确的,有什么问题遗漏,各位可以补充!让我也能提高提高。自己开始写第二个ASP程序,接下来一段时间沉寂一下,不写大块文章了,这篇算就是为这个问题结个尾!
                                
                                
                                
                             | 
                        
                
                    |  whoisspider
 职务:普通成员
 等级:1
 金币:1.0
 发贴:245
 注册:2002/9/25 18:04:34
 
 | 
                            
                            #132003/9/10 17:39:10 
                                呵呵,刚才去浏览了其他问题页子!居然发现这个问题居然如此普遍!就这段时间的问题帖子我就看到三个和这个相关的,而且由于没人理解“INSERT INTO 语句的语法错误。”的问题,这三个问题都没有人回答或解答对!当然和提问者水平有关!我分析了一下,大家看看,尤其喜欢用DW MX自动写插入代码的都看看:www.5d.cn/bbs/NewsDetail.asp?id=910304 这位提问者提问水平真的。。。,把一个源代码扔上来,什么错误信息都没有。真的很难知道问题所在!没有人回答也就很当然了!     不过幸运的是,我看到了这个熟悉的代码,DW生成的插入代码,有了前面的了解,这个代码我一看就知道问题出在那里了! 请看提供线索的代码: MM_fieldsStr = "username|value|email|value|company|value|tel|value|mailsubject|value|Text |value|hiddenField|value" 呵呵,这个就是DW根据用户输入的字段名自动生成的代码,Text,嘿嘿,又是可恶的ACCESS保留字,我前面链接帖子里说过的DW自动写的代码里没有预料到用户会输ACCESS保留字,而造成问题,我提供了改DW代码的例子,大家仔细去看!     当然最后的出错信息,不用猜就是我们讨论的熟悉不过的“INSERT INTO 语句的语法错误。”www.5d.cn/bbs/NewsDetail.asp?id=911992 这位同上面这位相反,错误信息提供的很详细了,源代码却没有提供到点子上,里面红色代码一看就知道又是DW自动写的,没有手写代码的能力,在代码方面自然提供不了有价值的线索!不过幸运的是,我看到了“INSERT INTO 语句的语法错误。”,呵呵问题八九不离十了,最后我们在 POST Data: usersname=565656&password=565656&email=565656&MM_insert=form1  里找到了最后确认的线索,传递了password这个参数,不用讲了,后面的数据库里肯定对应的是password字段,而password又是我们新确认的ACCESS保留字,报那个错就不奇怪了!www.5d.cn/bbs/NewsDetail.asp?id=879203 这个帖子比较乱,新手写的,也没办法,我们看第一页最后那位的发言! 从他提供的错误信息一看,和上面第二个情况一样! INSERT INTO 语句的语法错误。 POST Data: usersname=23&password=23&email=23&MM_insert=form1  看了上面第而个问题,这个就不用我说了吧! 并不是参数没有传递过去,也不是空的什么问题,如果是这些问题,报错不是“INSERT INTO 语句的语法错误。”,而是其他报错!各位可以试试! 好了,发现这个问题是如此的普遍,而且同DW提供的插入记录有着联系,很多人碰到这种问题感到很困惑,现在应该能明白这么回事情了吧!最后,最好斑竹整理一下,我是这几天研究写的,有点乱!
                                
                                
                                
                            
                                
                                    编辑历史:[这消息被whoisspider编辑过(编辑时间2003-09-10 17:57:41)]
 
 | 
                        
                
                    |  啦哈哈
 职务:普通成员
 等级:1
 金币:0.0
 发贴:5
 注册:2003/7/25 13:50:23
 
 | 
                            
                            #142003/9/11 18:39:25 
                                讲的不错
 |