把论坛从ACCESS转成SQL版本(2)

时间:2009-04-13 15:59:00 

四、程序的改写

  这也有两种情况

1、如果你幸运,拿到的是For SQL的程序,那么如果上面的数据库建立过程没有遇到麻烦,程序基本上就可以运行了,出错的话,只是程序本身的bug,如何修改不是这个帖子讨论的内容,就不赘述了。

2、大多数情况,程序本身是For Access的,与For SQL的程序差别主要是程序中使用到的SQL查询语句。注意,SQL查询语句是数据库应用不可缺少的部分,不管是For SQL还是For Aceess的程序使用的语法大体差不多,但是有一些微妙的差别,正是这些差别,造成了程序的不通用,也是我们需要修改的主要内容。这样一般要修改的部分如下:

(1)时间函数的问题:SQL数据库的时间函数与access不同,最常见的是取现在时间的函数,access是now(),SQL是getdate()。因此凡是在where子句中使用了now()的地方都要改成getdate();注意,now()函数在asp程序本身也要使用,凡是不在数据库查询或执行语句中使用的now()函数千万不要改。

(2)时间比较函数:datediff('d','时间1',‘时间2’)这是access查询用的格式,SQl中这些引号都要去掉,同时时间格式的前后可能加上了#,这也要去掉。同样这也是指在sql语句中的,在asp语句中的要保持原样。

(3)空值的表示:在access中,判断空值一般用是否=""来表示,但是这在SQL中往往出错,如果遇到出错的问题或者程序运行不正常,可以改成如这样判断:where (name is null)

(4)真假值判断:access中可以用=true、=false来判断,但是在SQL中就会出错,因此在SQL查询或执行语句中这类判断要分别改成=1、=0。注意一点:有些程序虽然写成=“true”,但是由于有引号,所以这个字段是字符类型的,你不能改成=1,保持原样即可。

  以上是比较常见的改写的地方,还有一些不太常见,如果遇到了可以在此回帖讨论。

五、程序的调试

  前面推荐使用带有行号的编辑器,是因为上述的改写不大可能是直接搜索程序源码来做,很难找全。

我采取的方式一般这样:数据库改写完成,直接调试程序,出错后,看看出错的提示,找到相应文件的代码行,但是根源往往不是那行,比如出错的语句是:conn.execute(sql),但是这句本身是没有错的,错误原因是里面的这个sql字符串,那就向上看这个sql字符串是如何生成的,按照上面所说的程序修改办法修改。

标签:论坛,access,sql
0
投稿

猜你喜欢

  • python爬虫自动创建文件夹的功能

    2023-11-05 08:22:40
  • 网页制作了解什么是CSS hack?

    2007-10-21 08:52:00
  • MySQL8.0设置远程访问权限的方法

    2024-01-15 19:25:43
  • python中pygame安装过程(超级详细)

    2022-08-05 04:26:15
  • 10款最好的Web开发的 Python 框架

    2023-12-21 11:26:04
  • ASP面向对象编程探讨及比较

    2008-04-12 07:16:00
  • 不固定参数的存储过程实现代码

    2024-01-22 16:36:39
  • Python字典“键”和“值”的排序5种方法

    2022-01-13 04:45:42
  • pytorch中的 .view()函数的用法介绍

    2022-10-15 19:50:17
  • python+matplotlib绘制旋转椭圆实例代码

    2022-05-28 04:51:44
  • SSB(SQLservice Service Broker) 入门实例介绍

    2024-01-27 14:19:00
  • Python3安装tensorflow及配置过程

    2021-04-07 01:47:09
  • 原生JS实现Ajax通过GET方式与PHP进行交互操作示例

    2024-06-05 09:47:23
  • Sysbench多线程性能测试工具

    2024-01-20 14:08:57
  • SQL Server Reporting Services 匿名登录的问题及解决方案

    2024-01-20 04:24:05
  • python使用matplotlib绘制图片时x轴的刻度处理

    2022-05-05 01:38:56
  • 安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法

    2023-09-06 22:11:25
  • Python装饰器使用你可能不知道的几种姿势

    2023-01-23 23:56:09
  • Python使用淘宝API查询IP归属地功能分享

    2021-02-11 20:37:29
  • GO语言中回调函数的使用

    2024-04-25 15:05:41
  • asp之家 网络编程 m.aspxhome.com