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

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

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

查询名称:“GrossMonth”

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

请帮忙

【问题讨论】:

  • Interop Assemblies 结合一些 SQL 可能......?
  • 它完全在头顶反弹。可以给我简要介绍一下吗?

标签: c# winforms ms-access


【解决方案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 非常困难
猜你喜欢
  • 2016-01-18
  • 1970-01-01
  • 1970-01-01
  • 2012-04-13
  • 1970-01-01
  • 1970-01-01
  • 2017-01-01
  • 2023-03-07
相关资源
最近更新 更多