Tag: access预览模式: 普通 | 列表

ACCESS与SQL SERVER的一些细微区别

Microsoft Access和 Microsoft SQL Server虽然同是微软的产品,但与微软的作风是一致的,就是自己的产品与自己的产品是可以不兼容或是不相同的。下面的不同是我在实际应用中遇到的,也在这些问题上浪费了大量时间后才醒悟过来的。

一、关键字(保留字)是不一样的,这个可以通过《SQL保留字查询》去查询验证。

二、两者所用的SQL语句的语法标准不同,ACCESS用的是JET SQL,而不是SQL Server所用的 T-SQL语句。

三、与上面第二点同理的一个例子,参阅《Count及Top在ACCESS里的异常表现

 

下面是这个例子,不知道是属于哪方面的区别。

SQL代码
  1. --SQL写法,注意后面不能有,号    
  2. delete from An_course where id in (45)     
  3. --ACCESS写法,SQL会出错    
  4. delete * from An_course where id in (45,)   

查看更多...

Tags: access SQL

分类:数据 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1486

Count及Top在ACCESS里的异常表现

ASP,ACCESS数据库,用Update更新数据时报错:

Microsoft JET Database Engine '80040e14'

Update 语句的语法错误。

该行代码如下,id字段是数值型的,id有值。

ASP/Visual Basic代码
  1. conn.execute ("update pubcou set count=count+1 where id="&id)  

 现在明白了,原来count是JET SQL语法里的关键字(count(*),用于统计的),天,当时我怎么没想到这方面呢!

关于SQL的关键字,有相关资料可供查询。

查看更多...

Tags: count 更新 关键字 SQL T-SQL access

分类:数据 | 固定链接 | 评论: 8 | 引用: 0 | 查看次数: 6073

ASP+ACCESS数据库的网站,远程服务器上某页面提示如下错误:

ADODB.Recordset 错误 '800a0cc1'

在对应所需名称或序数的集合中,未找到项目。

报错的那行代码里有一查询代码:rs("mytable.btype")

可以确定的是表mytable里有列btype,SQL字符串里是用“select mytable.*,table2.* from mytable,table2...”来构建查询语句的。

而且奇怪的是本地调试没有报错,能正常得到数据。

这个问题纠结了一天,后来灵机一动:运行环境不一样,会不会是表名.列名的写法在本地可以,在服务器上不行呢?于是尝试一下,果然如我设想的一样:同样的代码,本地调试行,远程WEB服务器不行。

查看更多...

Tags: access ASP 数据库 连接 查询 源动力

分类:网络 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2939

天杀的ACCESS数据库连接问题

ACCESS的数据库,ASP的环境,测试报下面的错误:

Microsoft JET Database Engine '80040e14'

From子句语法错误

用下面的连接代码替换着用,居然就能不出错。先是用方法一,报错,改用方法二正常。后来再用方法一,也正常。

查看更多...

Tags: access ASP 数据库 连接

分类:数据 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1853

ACCESS数据库文章段落显示换行问题

问题:文本内容以HTML代码显示时没有分段或换行的效果。

ASP+ACCESS数据库,由textarea文本区提交的包含分段及换行的文字内容,保存到ACCESS里再读取出来显示时没有分段及换行效果。又是ACCESS引起的问题,SQL的数据库好像没有这样的问题,所以我一时又没了主意,网上搜索得到下面的解决方法。

先定义一个字符转换的函数:

ASP/Visual Basic代码
  1. function HTMLEncode(fString)  
  2.   
  3.     fString = replace(fString, ">"">")  
  4.     fString = replace(fString, "<""<")  
  5.     fString = Replace(fString, CHR(32), " ")  
  6.     fString = Replace(fString, CHR(13), "")  
  7.     fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")  
  8.     fString = Replace(fString, CHR(10), "<BR>")  
  9.     HTMLEncode = fString  
  10.   
  11. end function  

直接调用函数处理要显示的内容就可以了:HTMLEncode(rs("content"))。

查看更多...

Tags: access 段落 换行

分类:网络 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 2742

OLE DB Provider for ODBC Drivers (0x80004005)错误

Windows XP 系统,ASP连Access数据库,保存数据时出现下面的错误提示:

错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]行中有错误
/HrDemandAccept.asp, 第 246 行

由于多时没有用Access的数据库写网站了,所以一时对这样的提示不知所措,网上搜索,有若干记录是关于这样的提示的问题描述及解答,但未能解决这个问题。后来在Visual Stadio 2005里调试时无意中监视代码里rs.update时才发现问题的根本所在,如下图:

明白是怎么回事了吧?“不能是零长度的字符串”!又想说一句:神奇的MS,出错提示都这么高深。从网上搜索相同问题的结果来看,很多人提到最多的是连接数据库的字串方式,但基本没有人提到这样的原因,算是让我遇上了呀。

查看更多...

Tags: access 数据库 ASP 空值

分类:网络 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1852

ADODB.Connection 错误 '800a0e7a'错误

windows server 2003 enterprise edition sp2,IIS 6.0,Access 2003,调试虚拟网站时出现下面的错误错码:

ADODB.Connection 错误 '800a0e7a'

未找到提供程序。该程序可能未正确安装。

网上有人提供下面的方法:

开始-运行-cmd,然后输入 cscript C:\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 true

这个方法可能是用于2008系统的,问题没有解决。

 

 

查看更多...

Tags: IIS server 2003 access ADODB Connection

分类:网络 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3629