.NET Windows窗体应用程序VS MS Access客户端应用程序 [英] .NET Windows Forms Application VS MS Access client Application

查看:65
本文介绍了.NET Windows窗体应用程序VS MS Access客户端应用程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

SQL Server将被用作非平凡客户端的后端数据库

应用程序。


问题是客户端应用程序的选择:


我需要能够聪明地谈论一个客户端(MS Access vs

..NET Windows窗体)何时优先于另一个客户端。虽然我在双方都有一些好的论据,但我很感激您对

主题的看法。


For为了讨论这个问题,请假设一个*非常重要的*客户

应用程序,例如120个表单,安全数据处理,数百个

报告,以及明确的需求丰富的UI体验(MDI,各种丰富的UI控件,非平凡的打印要求等)。


我将非常感谢帮助编译参数支持和反对每个

技术(MS Access和.NET Windows Forms)作为客户端应用程序。


到目前为止我有这个(没有特别的顺序) :


.NET Windows窗体应用程序的好处:

1.客户端可以是MDI(而只访问SDI)

2.使用.NET提供更丰富的UI(与MS Access UI控件相比)

3.更易于部署(使用ClickOnce,XCopy和类似的.NET技术

或方法)。客户端已经安装了CLR作为他们的

标准桌面映像的一部分 - 所以我只需要输入XCopy。

应用程序文件到本地机器上。

4. .NET在客户端上占用较少的空间

of 3rd派对UI控件。 MS Access是一种基于COM的技术,因此
要求第三方控件是COM控件。这些需要安装

到Windows \ System32以及对注册表的相关更新(而.NET第三版

方控件只需要将XCopy部署到应用程序文件夹)

5. .NET的第三方UI控件比第二方COM控件更流行,更强大,更丰富。此外,对COM控制的支持(即制造和支持它们的第三个b $ b b方公司的数量)预计只会减少,在未来几年内不会增加
- 确切地说相反的趋势

预计第三方.NET控件。

6. .NET Windows Forms应用程序可以充分利用OOP结构

和模式 - 从而使开发人员能够创建更容易维护,更易于扩展和更好构建的应用程序,而不是等同的应用程序。 MS Access应用程序中提供的功能。

7. Visual Studio .NET显着提高了开发人员的工作效率(对比MS

应用程序开发的访问支持)

8. .NET基类显着提高了开发人员的工作效率

预先包装了大量的功能,这些功能必须从MS Access中的
scratch开始编码。

9. .NET应用程序的运行时性能可能比MS更快

体系结构,而ADO.NET必然需要分布式(和

断开连接)架构。

10. ADO.NET自动处理连接池并提供

大量的内置功能大大提高了开发人员的工作效率,增加了程序员对数据库通信的控制力b / b和更新(与JET和DAO相比)。 />

.NET Windows窗体应用程序的下行:

1.增加.NET开发所需的专业知识 - 与MS Access相比(至少
) '是对客户的看法)

2.要求在客户端安装CLR的目标版本

机器(可能导致多个版本的。 NET Framework

同时安装。不是我有问题,但他们的桌面支持人员可能会这样做。


.MS访问客户端应用程序的好处:

1.开发人员需要的专业知识较少(至少是客户的感知)

2.出于它包含许多有用的UI控件和一流的

报表编写器。


.MS访问客户端应用程序的下行:

1.在此处插入一个.NET

Windows窗体应用程序的所有好处的确切对应,然后:

2.客户端计算机必须具有正确的安装的MS Access版本

(即他们被特定版本卡住,或者所有必须同时升级

)。

3。为了在服务器上进行查询

处理,需要使用Passthrough查询。 Passthrough查询比非直通查询更复杂。

4.不使用直通查询,SQL Server的锁定机制

可能会出现意外行为(例如,锁可能会意外地放在表格上而不是页面或行上) - 从而导致性能降低。

5.日期处理逻辑较少安全,因为用户可以,相对轻松地查看和修改客户端代码和/或查询。


非常感谢对这些列表的任何补充!


Jordan

SQL Server will be used as the back-end database to a non trivial client
application.

In question is the choice of client application:

I need to be able to speak intelligently about when one client (MS Access vs
..NET Windows Forms) would be preferred over the other. While I have some
good arguments on both sides, I would appreciate your points of view on the
topic.

For the sake of this discussion, please assume a *non trivial* client
application with, say 120 forms, secure data processing, hundreds of
reports, and a clear need for a rich UI experience (MDI, a variety of rich
UI controls, non trivial printing requirements, etc).

I would appreciate help in compiling arguments both for and against each
technology (MS Access and .NET Windows Forms) as a client application.

So far I have this (in no particular order):

BENEFITS OF a .NET Windows Forms Application:
1. Client can be MDI (whereas Access only SDI)
2. Much richer UI with .NET (vs MS Access UI controls)
3. Easier deployment (with ClickOnce, XCopy, and similar .NET technologies
or methods). The client already has the CLR installed as part of their
standard desktop image - so I need to put nothing more than "XCopy" the
application files onto the local machine.
4. .NET requires a smaller footprint on the client with respect to the use
of 3rd party UI controls. MS Access is a COM-based technology and therefore
requires that 3rd party controls be COM controls. These require installation
to Windows\System32 and associated updates to the Registry (whereas .NET 3rd
party controls require only XCopy deployment to the application folder)
5. 3rd party UI controls for .NET are more prevalent, capable, and rich than
3rd party COM controls. Plus support for COM controls (i.e. number of 3rd
party companies making and supporting them) is expected to only decrease,
not increase, during the coming years - with the exact opposite trend
expected for 3rd party .NET controls.
6. .NET Windows Forms applications can take full advantage of OOP constructs
and patterns - thereby enabling the developers to create applications that
are easier to maintain, more easily extensible, and better architected than
the "equivalent" functionality provided in an MS Access application.
7. Visual Studio .NET significantly increases developer productivity (vs MS
Access support for application development)
8. The .NET base classes significantly increase developer productivity by
pre-packing substantial functionality that would have to be coded from
scratch in MS Access.
9. Runtime performance of a .NET application would likely be faster than MS
Access because MS Access (really Jet) necessarily entails a file server
architecture, while ADO.NET necessarily entails a distributed (and
disconnected) architecture.
10. ADO.NET takes care of connection pooling automatically and provides a
huge amount of built-in functionality that substantially increases developer
productivity and increases programmer control over database communications
and updates (as compared to JET and DAO).

DOWNSIDE OF a .NET Windows Forms Application:
1. Increased expertise required for .NET development - vs. MS Access (at
least that''s the perception of the client)
2. Requires the target version of the CLR to be installed on the client
machines (leading possibly to multiple versions of the .NET Framework
installed simultaneously. Not that I have a problem with it, but their
desktop support folks might).

BENEFITS OF a .MS Access Client Application:
1. Less expertise required on the part of the developers (at least that''s
the perception of the client).
2. Out of the box it includes many useful UI controls and a first-class
report writer.

DOWNSIDE OF a .MS Access Client Application:
1. Insert right here THE EXACT OPPOSITE of all of the benefits of a .NET
Windows Forms application, then:
2. The client machine must have the correct version of MS Access installed
(i.e. they''re stuck with a particular version, or all must upgrade
simultaneously).
3. Passthrough queries would be required in order to get the query
processing to happen on the server. Passthrough queries ential some
additional complexity than non passthrough queries.
4. Without the use of passthrough queries, SQL Server''s locking mechanisms
can behave unexpectedly (e.g., locks can unexpectedly be placed on tables
rather than pages or rows) - thereby resulting in slower performance.
5. Date processing logic is less secure because users can, relatively
easily, view and modify the client-side code and/or queries.

Any additions to these lists are greatly appreciated!

Jordan

推荐答案

这很有意思。我不会试图纠正你的意见,

但请注意你还没有解决报道问题。我已经使用了水晶,访问和报告服务
,而且我的意见

是你真的需要适应你的技能组合

开发商。


(大卫)


" Jordan S." < A@B.COM>在消息中写道

新闻:%2 *************** @ TK2MSFTNGP04.phx.gbl ...
That''s amusing. I won''t attempt to correct your opinions,
but note that you haven''t addressed reporting yet. I''ve
used Crystal, Access, and Report Services, and my opinion
is that you really need to accommodate the skill set of your
developers.

(david)

"Jordan S." <A@B.COM> wrote in message
news:%2***************@TK2MSFTNGP04.phx.gbl...
SQL Server将被用作非平凡客户端应用程序的后端数据库。

问题是客户端应用程序的选择:

我需要能够聪明地谈论一个客户端(MS Access
vs .NET Windows Forms)优先于另一个客户端。虽然我在双方都有一些好的论据,但我很感激你对这个话题的看法。

为了这个讨论,请假设一个非常重要的*客户端
应用程序,例如120个表单,安全数据处理,数百个报告,以及明确需要丰富的UI体验(MDI,各种丰富的UI控件,非平凡打印要求等。

我非常感谢帮助编写支持和反对每个
技术(MS Access和.NET Windows Forms)作为客户端应用程序的参数。
<到目前为止,我有这个(没有特别的顺序):

.NET Windows窗体应用程序的好处:
1.客户端可以是MDI(而只访问SDI)
3.更易于部署(使用ClickOnce,XCopy和类似的.NET技术或方法)。客户端已经安装了CLR作为其标准桌面映像的一部分 - 所以我只需要放置XCopy。将应用程序文件放到本地计算机上。
4.就第三方UI控件的使用而言,.NET在客户端上占用的空间较小。 MS Access是一种基于COM的技术,因此要求第三方控件是COM控件。这些需要安装到Windows \ System32以及注册表的相关更新
(而.NET第三方控件只需要将XCopy部署到
应用程序文件夹)
5.第三方与第三方COM控件相比,.NET的UI控件更流行,更强大,更丰富。此外,对COM控件的支持(即制作和支持它们的第三方公司的数量)预计在未来几年内只会减少而不是增加 - 与预期完全相反的趋势第三方.NET控件。
6. .NET Windows Forms应用程序可以充分利用OOP
结构和模式 - 从而使开发人员能够创建更易于维护的应用程序可扩展的,和比等效更好的架构。 MS
访问应用程序中提供的功能。
7. Visual Studio .NET显着提高了开发人员的工作效率(与应用程序开发的MS Access支持相比)
8. .NET基类通过预先包装必须在MS Access中从头开始编码的大量功能,显着提高开发人员的工作效率。
9. .NET应用程序的运行时性能可能比
更快MS Access,因为MS Access(真正的Jet)必然需要文件服务器架构,而ADO.NET必然需要分布式(和
断开连接)架构。
10. ADO.NET需要自动关注连接池并提供大量内置功能,大大提高了开发人员的工作效率,并增加了程序员对数据库通信和更新的控制(与JET和DAO相比)。

.NET Windows窗体应用程序的下行:
1。增加.NET开发所需的专业知识 - 与MS Access相比(至少是对客户的看法)
2.要求在客户端上安装CLR的目标版本/>机器(可能同时安装多个版本的.NET Framework)。并不是说我有问题,但他们的桌面支持人员可能会这样做。

.MS Access客户端应用程序的好处:
1.部分所需的专业知识较少开发人员(至少是对客户的看法)。
2.开箱即用它包含许多有用的UI控件和一流的报表编写者。<在.MS访问客户端应用程序的下游:
1.在此处插入.NET窗体应用程序的所有优点的完全对立,然后:
2.客户端计算机必须安装正确版本的MS Access
(即他们遇到特定版本,或者所有版本必须同时升级)。
3.直通查询将需要以便在服务器上进行查询处理。 Passthrough查询比非直通查询更复杂。
4.如果不使用直通查询,SQL Server的锁定机制可能会出现意外行为(例如,可能意外地放置锁定在表格而不是页面或行上 - 从而导致性能降低。
5.日期处理逻辑不太安全,因为用户可以相对轻松地查看和修改客户端代码和/或查询。

非常感谢对这些列表的任何补充!

Jordan
SQL Server will be used as the back-end database to a non trivial client
application.

In question is the choice of client application:

I need to be able to speak intelligently about when one client (MS Access
vs .NET Windows Forms) would be preferred over the other. While I have
some good arguments on both sides, I would appreciate your points of view
on the topic.

For the sake of this discussion, please assume a *non trivial* client
application with, say 120 forms, secure data processing, hundreds of
reports, and a clear need for a rich UI experience (MDI, a variety of rich
UI controls, non trivial printing requirements, etc).

I would appreciate help in compiling arguments both for and against each
technology (MS Access and .NET Windows Forms) as a client application.

So far I have this (in no particular order):

BENEFITS OF a .NET Windows Forms Application:
1. Client can be MDI (whereas Access only SDI)
2. Much richer UI with .NET (vs MS Access UI controls)
3. Easier deployment (with ClickOnce, XCopy, and similar .NET technologies
or methods). The client already has the CLR installed as part of their
standard desktop image - so I need to put nothing more than "XCopy" the
application files onto the local machine.
4. .NET requires a smaller footprint on the client with respect to the use
of 3rd party UI controls. MS Access is a COM-based technology and
therefore requires that 3rd party controls be COM controls. These require
installation to Windows\System32 and associated updates to the Registry
(whereas .NET 3rd party controls require only XCopy deployment to the
application folder)
5. 3rd party UI controls for .NET are more prevalent, capable, and rich
than 3rd party COM controls. Plus support for COM controls (i.e. number of
3rd party companies making and supporting them) is expected to only
decrease, not increase, during the coming years - with the exact opposite
trend expected for 3rd party .NET controls.
6. .NET Windows Forms applications can take full advantage of OOP
constructs and patterns - thereby enabling the developers to create
applications that are easier to maintain, more easily extensible, and
better architected than the "equivalent" functionality provided in an MS
Access application.
7. Visual Studio .NET significantly increases developer productivity (vs
MS Access support for application development)
8. The .NET base classes significantly increase developer productivity by
pre-packing substantial functionality that would have to be coded from
scratch in MS Access.
9. Runtime performance of a .NET application would likely be faster than
MS Access because MS Access (really Jet) necessarily entails a file server
architecture, while ADO.NET necessarily entails a distributed (and
disconnected) architecture.
10. ADO.NET takes care of connection pooling automatically and provides a
huge amount of built-in functionality that substantially increases
developer productivity and increases programmer control over database
communications and updates (as compared to JET and DAO).

DOWNSIDE OF a .NET Windows Forms Application:
1. Increased expertise required for .NET development - vs. MS Access (at
least that''s the perception of the client)
2. Requires the target version of the CLR to be installed on the client
machines (leading possibly to multiple versions of the .NET Framework
installed simultaneously. Not that I have a problem with it, but their
desktop support folks might).

BENEFITS OF a .MS Access Client Application:
1. Less expertise required on the part of the developers (at least that''s
the perception of the client).
2. Out of the box it includes many useful UI controls and a first-class
report writer.

DOWNSIDE OF a .MS Access Client Application:
1. Insert right here THE EXACT OPPOSITE of all of the benefits of a .NET
Windows Forms application, then:
2. The client machine must have the correct version of MS Access installed
(i.e. they''re stuck with a particular version, or all must upgrade
simultaneously).
3. Passthrough queries would be required in order to get the query
processing to happen on the server. Passthrough queries ential some
additional complexity than non passthrough queries.
4. Without the use of passthrough queries, SQL Server''s locking mechanisms
can behave unexpectedly (e.g., locks can unexpectedly be placed on tables
rather than pages or rows) - thereby resulting in slower performance.
5. Date processing logic is less secure because users can, relatively
easily, view and modify the client-side code and/or queries.

Any additions to these lists are greatly appreciated!

Jordan



谢谢你的观点。开发人员的技能组合非常重要

如你所提到的那样,Access的学习曲线较短可能与最终决定相关。

请随意添加到列表中 - *必须代表所有*方面。


Thanks for your perspective. Skill set of the developers is very important
as you mentioned, and a shorter learning curve on Access may be relevant to
the final decision.

Please feel free to add to the lists - *all* sides must be represented.



为什么这么说访问只是SDI?您可以打开多个表单,

每个表单可单独调整大小可以在Access

应用程序窗口中重新定位。对我来说听起来像MDI!


Access,IMO的一个主要优点是它的数据绑定

控件。您根本不需要任何代码,将控件绑定到表单或报表的数据源中的字段




至于其余的,恕我直言,你是从志愿者的新闻组工作人员那里要求过多的。提供您想要的

详细比较报告将是一项非常重要的咨询任务。你真的希望它能够由两位技术专家(winforms和

Access)完成。否则,对于winforms人来说太容易掉渣

Access(通过对产品缺乏了解),反之亦然。


HTH ,

TC(MVP访问)
http:// tc2。 atspace.com

Why do you say that Access is only SDI? You can open multiple forms,
each one individually resizable & repositionable within the Access
application window. Sounds like MDI, to me!

One of the primary advantages of Access, IMO, is its data-bound
controls. You don''t need any code at all, to bind a control to a field
in the data source of a form or report.

As for the rest, IMHO you are asking too much from a newsgroup staffed
by volunteers. It would be a non-trivial consulting task to provide the
detailed comparative report that you want. And you''d really want it to
be done by someone who was expert in both technologies (winforms and
Access). Otherwise, it''s too easy for the winforms person to slag
Access (through lack of knowledge of the product), and vice versa.

HTH,
TC (MVP Access)
http://tc2.atspace.com


这篇关于.NET Windows窗体应用程序VS MS Access客户端应用程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆