Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用存储过程从MS Access前端在SQL Server后端插入记录_Sql Server_Ms Access_Stored Procedures - Fatal编程技术网

Sql server 使用存储过程从MS Access前端在SQL Server后端插入记录

Sql server 使用存储过程从MS Access前端在SQL Server后端插入记录,sql-server,ms-access,stored-procedures,Sql Server,Ms Access,Stored Procedures,我最近遇到了从MS Access前端将记录插入SQL Server后端的情况,因为我使用绑定表单进行插入。多个评论者建议使用SQL Server存储过程来执行插入这通常是如何做到的?是否普遍认为在这种情况下使用存储过程比使用绑定表单更好 关于使用存储过程,我有几个具体的顾虑: 子表单:对于大多数表,我可以轻松想象使用未绑定表单通过存储过程进行插入。但是,我不知道如何为下级表添加记录。通过主窗体上的未绑定控件或从主窗体启动的弹出窗体?这两者中的任何一个都将偏离我的用户习惯看到的界面 版本控制:我

我最近遇到了从MS Access前端将记录插入SQL Server后端的情况,因为我使用绑定表单进行插入。多个评论者建议使用SQL Server存储过程来执行插入这通常是如何做到的?是否普遍认为在这种情况下使用存储过程比使用绑定表单更好

关于使用存储过程,我有几个具体的顾虑:

  • 子表单:对于大多数表,我可以轻松想象使用未绑定表单通过存储过程进行插入。但是,我不知道如何为下级表添加记录。通过主窗体上的未绑定控件或从主窗体启动的弹出窗体?这两者中的任何一个都将偏离我的用户习惯看到的界面
  • 版本控制:我的Access应用程序受到严格的版本控制。使用传递查询将所有程序逻辑保存在一个位置是否更好,或者使用物理存储在后端数据库中的存储过程是否还有其他好处
  • 改造:大规模(即几十种形式)改造是否切实可行/值得

数据库中的存储过程使您能够在Access应用程序之外重用它们

版本控制:如何对其余sql数据库对象提供版本控制?如果可以将表置于版本控制之下,则可以将proc置于版本控制之下,除非所有表创建和更新代码都处于Access中


除非存在数据完整性或可能的性能问题,否则我不会优先改进表单。您可以随时间或在发生更改/更新时执行此操作。

数据库中的存储过程使您能够在Access应用程序之外重用它们

版本控制:如何对其余sql数据库对象提供版本控制?如果可以将表置于版本控制之下,则可以将proc置于版本控制之下,除非所有表创建和更新代码都处于Access中


除非存在数据完整性或可能的性能问题,否则我不会优先改进表单。您可以随时间或在发生更改/更新时执行此操作。

RE:db对象的版本控制,我正在使用生成脚本。。。SSMS(快速版)中的向导。我还没有像在MS Access中那样开发出一种自动化SQL Server版本控制过程的方法。这是一个费力的过程(相对而言),所以我没有像我应该做的那样经常或一致地做。RE:db对象的版本控制,我正在使用生成脚本。。。SSMS(快速版)中的向导。我还没有像在MS Access中那样开发出一种自动化SQL Server版本控制过程的方法。这是一个费力的过程(相对而言),所以我没有像我应该做的那样经常或一致地做。关于子表单问题,我通常不允许连续/数据表子表单可编辑,但我认为这不是问题所在。问题是添加,而不是编辑,因此在我看来,您的子窗体将不允许添加,您将有一种方法通过存储过程添加新记录,然后重新查询子窗体以加载新记录并导航到它。弹出表单或详细信息表单可以正常工作(绑定到列表子表单主键的附加子表单)。哪一部分对您来说似乎是个问题?RE:子表单,这两种方法本身都不是问题。但是,由于它将是一个不同于我传统使用的界面,我想衡量一下最佳实践是什么。关于子表单问题,我通常不允许连续/数据表子表单可编辑,但我认为这不是问题所在。问题是添加,而不是编辑,因此在我看来,您的子窗体将不允许添加,您将有一种方法通过存储过程添加新记录,然后重新查询子窗体以加载新记录并导航到它。弹出表单或详细信息表单可以正常工作(绑定到列表子表单主键的附加子表单)。哪一部分对您来说似乎是个问题?RE:子表单,这两种方法本身都不是问题。但由于它将是一个不同于我传统使用的界面,我想衡量一下最佳实践是什么。