如何在 Windows 窗体中运行 MS Access 2013 中保存的查询。 C#

Posted

技术标签:

【中文标题】如何在 Windows 窗体中运行 MS Access 2013 中保存的查询。 C#【英文标题】:how to run the saved Queries in MS Access 2013 in windows form. C# 【发布时间】:2015-12-03 18:41:49 【问题描述】:

我在 MS Access 中保存了一些查询。这导致了 MS Access 中的一些输出表。 我如何通过 C# 在 Windows 窗体应用程序中调用它们。 以及如何通过 DATA GRID 在 Windows 窗体应用程序中显示查询结果。

我试过但不知道怎么办? 请帮忙。

查询名称:“GrossMonth

输出是一个列表。或 1 个值。

请帮忙

【问题讨论】:

Interop Assemblies 结合一些 SQL 可能......? 它完全在头顶反弹。可以给我简要介绍一下吗? 【参考方案1】:

首先添加对Microsoft.Office.Interop.Access.Dao 的引用。然后使用此代码:

var accessApp = new Microsoft.Office.Interop.Access.Application();
accessApp.OpenCurrentDatabase(@"Database1.accdb"); //Change accordingly.
Microsoft.Office.Interop.Access.Dao.Database cdb = accessApp.CurrentDb();

Microsoft.Office.Interop.Access.Dao.Recordset recordSet = 
cdb.OpenRecordset(
"SELECT * FROM QueryName", 
Microsoft.Office.Interop.Access.Dao.RecordsetTypeEnum.dbOpenSnapshot); //Change query name accordingly.
while (!recordSet.EOF)

    Console.WriteLine(recordSet.Fields["FieldName"].Value); //Again change if needed. Just an example.
    recordSet.MoveNext();

recordSet.Close();
accessApp.CloseCurrentDatabase();
accessApp.Quit(); 

【讨论】:

SELECT SUM(User_Mktng_Dtl.Total_Grocery_amount) AS Gro FROM User_Mktng_Dtl WHERE (((User_Mktng_Dtl.custmer_name)="rr") AND ((DatePart("m",[Date]))=12)) ;我想从 application 在 C# windows 中实现。我完成了 customer_name="rr" 但 DatePart 非常困难

以上是关于如何在 Windows 窗体中运行 MS Access 2013 中保存的查询。 C#的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MS 访问中运行 Regex(如果支持)? [复制]

安装后,Windows 窗体项目未显示来自我的嵌入式 MS Access DB 的任何数据

如何在 Windows 窗体中创建 GDI 泄漏!

使用 C# windows 窗体向 Ms Access 数据库插入新记录时出现语法错误

如何制作仅在系统托盘中运行的 .NET Windows 窗体应用程序?

运行 CMD 和 ffmpeg Windows 窗体