如何在 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 的任何数据
使用 C# windows 窗体向 Ms Access 数据库插入新记录时出现语法错误