Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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
C# 将Access应用程序移动到C前端和SQl后端_C#_Sql Server_Stored Procedures_Ms Access 2010_Sql View - Fatal编程技术网

C# 将Access应用程序移动到C前端和SQl后端

C# 将Access应用程序移动到C前端和SQl后端,c#,sql-server,stored-procedures,ms-access-2010,sql-view,C#,Sql Server,Stored Procedures,Ms Access 2010,Sql View,最近,我的经理给了我一项新任务,那就是将一个处理净重计算的access应用程序移动到C,并告诉我使用sql作为后端 因此,首先我通过点击数据库工具下的移动数据部分,将所有数据库从access移动到sql,所有数据都自动迁移到sql。第二,我尝试在c sharp中模拟win表单上的访问表单。第三,我发现基本上没有几个按钮直接从表中读取数据,所以我用数据网格创建了一个模式表单,并从主表单调用了模式表单,然后加载了数据库中的数据 现在是关于其余按钮的问题 我在access应用程序中有许多查询,每个查询

最近,我的经理给了我一项新任务,那就是将一个处理净重计算的access应用程序移动到C,并告诉我使用sql作为后端

因此,首先我通过点击数据库工具下的移动数据部分,将所有数据库从access移动到sql,所有数据都自动迁移到sql。第二,我尝试在c sharp中模拟win表单上的访问表单。第三,我发现基本上没有几个按钮直接从表中读取数据,所以我用数据网格创建了一个模式表单,并从主表单调用了模式表单,然后加载了数据库中的数据

现在是关于其余按钮的问题

我在access应用程序中有许多查询,每个查询都被另一个查询引用,看起来这些查询就像access中的表一样,我不知道如何在SQL Server中实现这一点,如果我让查询正常工作,我可以创建一个没有任何问题的报告

我尝试创建一个视图,但没有帮助,因为它找不到被引用的表,存储过程似乎是一种方法,但我对存储过程没有太多的知识

来自Acesss的查询

正在生成的报告称为组合主数据报告

SELECT [Net Weight Master Data Query].[Unit UPC Base Item], [Net Weight Master Data Query].[Item Description], [Net Weight Master Data Query].[Production Line], [Production Lines].[Production Line Description], [Net Weight Master Data Query].[Preset Number], [Net Weight Master Data Query].[Weight Factor], [Net Weight Master Data Query].Piece, [Net Weight Master Data Query].[Pcs Per Unit], [Net Weight Master Data Query].[Upper Limit Unit], [Net Weight Master Data Query].[Upper Limit Factor], [Net Weight Master Data Query].[Piece Wt (g)], [Net Weight Master Data Query].[Upper Limit (g)], [Net Weight Master Data Query].[Lower Limit (g)], [Net Weight Master Data Query].[Label Wt (g)], [Net Weight Master Data Query].[Tare Wt (g)], [Net Weight Master Data Query].[Constant Tare Wt (g)], [Net Weight Master Data Query].[Tare Variation Factor (g)], [Net Weight Master Data Query].[Target Wt (g)], [Net Weight Master Data Query].[Reject Wt (g)], [Net Weight Master Data Query].[Repair Min Wt (g)], [Net Weight Master Data Query].[MAV (g)], [Net Weight Master Data Query].[MAW (g)], [Net Weight Master Data Query].[Pkg Length (mm)], [Net Weight Master Data Query].[Film Product Code], [Net Weight Master Data Query].[Film Width (mm)], [Net Weight Master Data Query].[Forming Tube (mm)], [Net Weight Master Data Query].[Type of Jaws], [Overpack Percentages].[Std RM $/LB], [Overpack Percentages].[Avg Overpack Percentage], [Net Weight Master Data Query].[Last Updated]
FROM ([Net Weight Master Data Query] LEFT JOIN [Production Lines] ON [Net Weight Master Data Query].[Production Line] = [Production Lines].[Production Line]) LEFT JOIN [Overpack Percentages] ON [Net Weight Master Data Query].[Unit UPC Base Item] = [Overpack Percentages].[Unit UPC Base Item]
ORDER BY [Net Weight Master Data Query].[Unit UPC Base Item], [Net Weight Master Data Query].[Production Line];
如上所示,第一列被引用的是[净重主数据查询]

这里是净重主数据查询


所以我们需要创建一个巨大的存储过程,看起来它引用了查询中的查询,也就是所谓的子查询,但是有很多IFF和其他语句,比如FIRST,我们如何将它们转换成SQL。如果有人能帮我创建一个存储过程,我会非常感激,因为所有其他按钮都会创建不同的报告,如果我知道如何创建一个,我可以轻松地为其他按钮创建相同的报告,并将我的应用程序迁移到csharp。

Access中的查询对应于SQL Server中的视图。就像在Access中一样,SQL Server视图通常可以像其他视图中的表一样使用,因此在SQL Server中您可以

将视图ViewX创建为 选择从表1中可以看出。。。 然后您可以在另一个视图中使用该视图,例如

将视图创建为 选择从ViewX,其中。。。 因此,如果您所做的只是在Access中重新创建已保存查询的行为,则可能根本不需要使用存储过程

至于Access SQL和SQL Server使用的方言T-SQL之间的区别,有几种,在这里关于堆栈溢出已经讨论了很多次。您需要做的是尝试将SQL语句从Access SQL转换为T-SQL,如果您在某个特定问题上遇到困难,那么

回顾,然后 .
这是一个MSDN链接,您可以阅读。internet上也有很多这样做的示例。请澄清您是否在Sql Server或Access上创建存储过程。如果是Access,请在google上搜索如何在MSAccess中创建存储过程。请改写您的帖子,以获得您所面临问题的实际详细信息。你发布的所有问题都是非常模糊的代码转储,违反了SO的问题规则。xxbbc我认为这个问题很清楚OP想要做什么。。他希望接受一个或多个查询并将其转换为存储过程。。在我看来,OP真正应该做的是google如何在MSAccess中创建或生成查询,以及如何创建存储Procedure@DJKRAZE如果你的意思是他希望我们为他创建一个SP,我同意你的看法。我只是投了不清楚的赞成票,因为没有反对的理由。我的评论是从他的其他问题复制粘贴而来的。不管怎样,google/online上有很多例子,OP可以帮助他们开始学习如何创建SP,这并不是那么简单
SELECT [Net Weight Master Data].[Unit UPC Base Item], [Item Descriptions].[Item Description], [Net Weight Master Data].[Production Line], [Production Lines].[Production Line Description], [Net Weight Master Data].[Preset Number], [Net Weight Master Data].[Package Type], [Net Weight Master Data].[Weight Factor], [Net Weight Master Data].Piece, [Net Weight Master Data].[Pcs Per Unit], [Net Weight Master Data].[Upper Limit Unit], [Net Weight Master Data].[Upper Limit Factor], IIf([upper limit unit]="g","",(CInt(([label wt (g)]/[Pcs per unit])*10))/10) AS [Piece Wt (g)], ([mav (g)]-[scale deviation factor]-[tare variation factor (g)])/[weight factor] AS UL1, [UL1]-Fix([UL1]) AS UL2, IIf([Package Type] Is Not Null,[UL1],IIf([UL2]=0,Fix([UL1]),IIf([UL2]>0 And [UL2]<0.51,Fix([UL1])+[Rounding Factor1],Fix([UL1])+[rounding factor2]))) AS UL3, IIf([Package Type]="Bar",10,IIf([upper limit unit]="g",([UL3]*[weight factor]),[piece wt (g)]*[Upper Limit Factor])) AS [Upper Limit (g)], IIf([upper limit unit]="g",([UL3]*[weight factor]),0) AS [Lower Limit (g)], [Net Weight Master Data].[Label Wt (g)], [Net Weight Master Data].[Tare Wt (g)], [Net Weight Master Data].[Constant Tare Wt (g)], [Net Weight Master Data].[Tare Variation Factor (g)], [Label Wt (g)]+[tare wt (g)] AS [Target Wt (g)], [label wt (g)]-[lower limit (g)] AS [Reject Wt (g)], IIf([package type]="Bar",([Label Wt (g)]-[mav (g)]+[tare wt (g)]),IIf([package type]="10 Pack",([Label Wt (g)]-[mav (g)]+[tare wt (g)])+2.5,([Label WT (g)]-[mav (g)]+[tare wt (g)])+5)) AS [Repair Min Wt (g)], [Maximum Allowable Variations].[MAV (g)], [Production Lines].[Scale Deviation Factor], [label wt (g)]-[mav (g)] AS [MAW (g)], [Net Weight Master Data].[Pkg Length (mm)], [Net Weight Master Data].[Film Product Code], [Net Weight Master Data].[Film Width (mm)], [Net Weight Master Data].[Forming Tube (mm)], [Net Weight Master Data].[Type of Jaws], [Net Weight Master Data].[Last Updated], [Production Lines].[Rounding Factor1], [Production Lines].[Rounding Factor2]
FROM (([Net Weight Master Data] LEFT JOIN [Production Lines] ON [Net Weight Master Data].[Production Line] = [Production Lines].[Production Line]) INNER JOIN [Maximum Allowable Variations] ON [Net Weight Master Data].[Label Wt (g)] = [Maximum Allowable Variations].[Labeled Quantity (g)]) LEFT JOIN [Item Descriptions] ON [Net Weight Master Data].[Unit UPC Base Item] = [Item Descriptions].[Unit UPC Base Item]
ORDER BY [Net Weight Master Data].[Unit UPC Base Item], [Net Weight Master Data].[Production Line];
SELECT ItemDescLookups.[Unit UPC Base Item], First(ItemDescLookups.[Item Description]) AS [Item Description]
FROM ItemDescLookups
GROUP BY ItemDescLookups.[Unit UPC Base Item];