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
Ms access 使用C从Access查询派生参数#_Ms Access - Fatal编程技术网

Ms access 使用C从Access查询派生参数#

Ms access 使用C从Access查询派生参数#,ms-access,Ms Access,我在microsoft Access中有一个查询,它只接受很少的参数。我正在寻找一个C#中的示例,它让我能够在用值填充参数之前首先从查询中“派生”参数 这能做到吗?请告诉我如何尽快 在网络上的其他网站上有很多类似的问题,但没有答案 我能看到的唯一方法是使用DAO,但可能还有其他方法 DBEngine dbEng = new DBEngine(); Workspace Ws = dbEng.CreateWorkspace("", "admin", "", WorkspaceTypeEnum.dbU

我在microsoft Access中有一个查询,它只接受很少的参数。我正在寻找一个C#中的示例,它让我能够在用值填充参数之前首先从查询中“派生”参数

这能做到吗?请告诉我如何尽快


在网络上的其他网站上有很多类似的问题,但没有答案

我能看到的唯一方法是使用DAO,但可能还有其他方法

DBEngine dbEng = new DBEngine();
Workspace Ws = dbEng.CreateWorkspace("", "admin", "", WorkspaceTypeEnum.dbUseJet);
Database Db = Ws.OpenDatabase(@"Z:\Docs\Test.accdb", false, false, "");

QueryDef qry = Db.QueryDefs["MyStoredQuery"];
foreach (Parameter prm in qry.Parameters)
{
    Console.WriteLine(prm.Name);
    Console.WriteLine(prm.Type);
}
获得准确类型的唯一方法是包含参数语句:

PARAMETERS param1 Text ( 255 ), param2 Integer;

请发布查询的sql。我的查询是一个插入查询:插入学生(studentName,age)值([[U studentName],[U age]);这很有用,但是这把刀很旧了,对吧?这可以使用任何新的数据库访问(如OleDB或Jet)来完成吗?DAO并不旧,它定期更新,这是使用access 2010中最新的DAO库来完成的,
Microsoft Office 14.0 access数据库引擎对象库
。Jet很旧,最新的Access数据库引擎是ACE。在大多数情况下,您最好使用具有访问权限的DAO。我并不是说OleDB是不可能的,但我不知道如何使用它获取访问参数,而且它很旧,很快就会停止支持SQL Server中的ODBC。