从Microsoft Access连接到C#程序数据源

时间:2013-07-01 18:58:18

标签: c# .net-4.0 ms-access-2003

我有一个小型的C#控制台程序,可以从quickbooks中检索项目列表,我试图弄清楚如何将这些数据公开给Microsoft Access。它是XML格式。

我想实时检索数据,因为每当Access调用数据时,只需要大约一秒的时间来获取数据。我正在使用Access 2003和VS 2010。

如果有办法用VBA做到这一点也可以正常工作。我已经可以使用VBA获取XML数据,但我不知道如何从那里开始。

以下是我在C#中使用的代码:

public string DoQBQuery(XmlDocument doc)
{
    bool sessionBegun = false;
    bool connectionOpen = false;
    RequestProcessor2 rp = null;
    string ticket = "";
    try
    {
        //Create the Request Processor object
        rp = new RequestProcessor2();

        //Connect to QuickBooks and begin a session
        rp.OpenConnection2("", "QB Transaction Item Retriever", QBXMLRPConnectionType.localQBD);
        connectionOpen = true;
        ticket = rp.BeginSession("", QBFileMode.qbFileOpenDoNotCare);
        sessionBegun = true;

        //Send the request and get the response from QuickBooks
        string responseStr = rp.ProcessRequest(ticket, doc.OuterXml);

        //End the session and close the connection to QuickBooks
        rp.EndSession(ticket);
        sessionBegun = false;
        rp.CloseConnection();
        connectionOpen = false;

        return responseStr;

    }
    catch (Exception e)
    {
        MessageBox.Show(e.Message, "Error");
        if (sessionBegun)
            rp.EndSession(ticket);

        if (connectionOpen)
            rp.CloseConnection();

        throw;
    }
}

1 个答案:

答案 0 :(得分:0)

“我正在尝试弄清楚如何将这些数据公开给Microsoft Access。它是XML格式的” 我以前从未尝试过这个,但我认为这可以通过放置完成你在dll中讨论并从Access调用的c#类来实现。以下是该网站关于该帖子的帖子。

A Simple C# DLL - how do I call it from Excel, Access, VBA, VB6?

P.S。鉴于我以前从未尝试过这个,我会把它放在原帖的评论部分,但我是这个网站的新手,我无法做到。

相关问题