CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

我感到特别奇怪的问题 关于数据库连接请大家进来看看

楼主itcoco(椰子)2003-08-03 18:57:21 在 Web 开发 / ASP 提问

<!--#include   file="include/connectdb.asp"     -->  
  <%   ygname=session("ygname")  
  set   rs1=server.createobject("adodb.recordset")  
  sql="select   *   from   ygtable   where   ygname="   &ygname  
  rs1.open   sql,cn,3,3     %>  
   
  我这样写就出错:   Microsoft   JET   Database   Engine   (0x80040E07)  
      指rs1.open   sql,cn,3,3这一行出错  
   
  而我这样写  
   
  <!--#include   file="include/connectdb.asp"     -->  
  <%   ygname=session("ygname")  
  set   rs1=server.createobject("adodb.recordset")  
  sql="select   *   from   ygname"  
  rs1.open   sql,cn,3,3     %>  
  就不出错     为什么?为什么不能加查询条件?  
  其中session("ygname")是上个页面中打开同样的表ygname中取得的一个  
  字段值     而且我在上个页面写了rs.close,cn.close  
   
  是不是哪点东西我没想到   做错了?  
  我有时真的觉得我写程序很邪     出现莫名其妙的错误 问题点数:20、回复次数:7Top

1 楼benzoin(yy)回复于 2003-08-03 18:59:17 得分 0

sql="select   *   from   ygtable   where   ygname="   &ygname  
  response.write   sql  
  你打印这句在查询分析器里面能通过吗?Top

2 楼itcoco(椰子)回复于 2003-08-03 19:04:26 得分 0

两种情况下我在注释掉rs1.open   sql,cn,3,3     后response.write(sql)都可以正常正常显示  
   
  我是在asp网业上测的   不会用查询分析器Top

3 楼itcoco(椰子)回复于 2003-08-03 19:10:30 得分 0

<!--#include   file="include/connectdb.asp"     -->  
  <%   ygname=session("ygname")  
  response.Write(ygname)  
  set   rs1=server.createobject("adodb.recordset")  
  sql="select   *   from   ygtable   "  
  'sql="select   *   from   ygtable   where   ygname="   &ygname  
  response.Write(sql)  
  rs1.open   sql,cn,1,3     %>  
  显示123select   *   from   ygtable    
   
  <!--#include   file="include/connectdb.asp"     -->  
  <%   ygname=session("ygname")  
  response.Write(ygname)  
  set   rs1=server.createobject("adodb.recordset")  
  'sql="select   *   from   ygtable   "  
  sql="select   *   from   ygtable   where   ygname="   &ygname  
  response.Write(sql)  
  'rs1.open   sql,cn,1,3     %>  
  显示123select   *   from   ygtable   where   ygname=123    
   
   
   
  Top

4 楼benzoin(yy)回复于 2003-08-03 19:11:01 得分 0

不是说正常显示的问题,主要是你的sql语句的问题,如果你取得的sql语句有语法错肯定rs1.open   sql,cn,3,3   就不能通过,类似于,你从数据库中取得ygname字符串中含有'单引号,或者&符号,或者一些特殊符号时他就有可能引出错误  
  类:ygname="test's"  
  数据库操作时肯定会报错,叫你打印sql语句是喊你看sql语句是否合法Top

5 楼benzoin(yy)回复于 2003-08-03 19:12:32 得分 15

ygname是什么数据类型?字符串?  
  那你就该写成  
  sql="select   *   from   ygtable   where   ygname='"   &ygname&"'"Top

6 楼sbje981(小李子)回复于 2003-08-03 19:19:25 得分 5

因为ygname是字符型必须这样写  
  sql="select   *   from   ygtable   where   ygname='"   &ygname&"'"  
  Top

7 楼itcoco(椰子)回复于 2003-08-03 19:43:10 得分 0

是字符串     我知道错在哪了现在可以了sql="select   *   from   ygtable   where   ygname='"   &ygname&"'"  
  主要是一开始sql="select   *   from   ygtable   where   ygname="   session("ygname")忘了是字符串  
   
  这回知道了还是自己的基本功差Top

相关问题

  • 奇怪的数据库连接问题???
  • 数据库连接的奇怪问题
  • 数据库连接的奇怪问题
  • 奇怪的数据库连接问题
  • 连接数据库奇怪的问题
  • 连接数据库的奇怪问题!?
  • 连接数据库的奇怪问题????
  • 数据库连接的奇怪问题
  • 奇怪的数据库连接问题
  • 连接数据库的奇怪问题?

关键词

  • 数据库
  • 语句
  • sql
  • ygname
  • 字符串
  • 出错
  • ygtable where
  • 显示
  • rs1
  • 问题

得分解答快速导航

  • 帖主:itcoco
  • benzoin
  • sbje981

相关链接

  • Web开发类图书

广告也精彩

反馈

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