将Access移植到SQL Server

2026-04-20 05:45 栏目: 常见问题 查看( )

到SQL Server的Access开发人员面临着很多困难,然而最为棘手的问题是对动态SQL的处理。在Access中,将控件的行指定为一个字符串是相当普通的现象。例如,窗体上包含着很多的选择器(SalesGroup,State/Province/Canton,Beginning Date以及Ending Date等等),Access开发人员一般都会检查这些控件以查看哪些为Null,然后编写SQL语句以删除这些Null值。

通过这种方法连接到SQL Server具有以下几点的缺点:

所有的处理都在客户端完成,而不是在服务器中完成。 解析这些控件和处理SQLq语句的代码显得拖沓冗长。 这一方法容易导致SQL 混入攻击(injection attacks)。

渴望扩展到SQL Server的Access开发人员必须解决两个方面的问题:

1.     识别所有非基于名称查询的记录和行的数据源。

将Access移植到SQL Server(图1)

2.     使用名称查询替代所有的查询。

对于动态地处理查询,可以以如下所示的代码处理:

SELECT *

WHERE ColumnOfInterest = Forms("myForm").ControlOfInterest

FROM SomeTables
WHERE ColumnOfInterest = 12345 OR ColumnOfInterest is NULL


解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

郑重申明:某某网络以外的任何单位或个人,不得使用该案例作为工作成功展示!