none
DoCmd.TransferDatabase 导入有密码的mdb 文件,如何编码实现不出现那个密码提示框? RRS feed

  • 问题

  • 采用数据导入功能,如果源文件(eg: source.mdb)有密码保护(密码已知,假设为:123456),导入到目标文件(eg: target.mdb,也有密码: 7890)
    采用如下代码导入时,始终无法正常工作(原因:source.mdb 不知道如何写入,即: 不知道如何打开 source.mdb)

    public void ImportFrom(string source)
            {
                ApplicationClass access = null;
                try
                {
                    access = new ApplicationClass();
                    access.Visible = false;
                    access.OpenCurrentDatabase(this.m_File, false, this.m_Password); // 【target.mdb 文件,密码存在 this.m_Password 中】
                    // 循环访问实现IEnumerable接口类 
                    foreach (string tableName in this.m_Tables)
                    {
                        access.DoCmd.TransferDatabase(
                            AcDataTransferType.acImport,
                            "Microsoft Access",
                            source, 【这个东东 source.mdb 有密码】
                            AcObjectType.acTable,
                            tableName,
                            this.m_Namespace + tableName,
                            false,
                            false);
                        // 判断条件 
                        if (this.OnTableImportedEventHandle != null)
                        {
                            TableImportEventArgs arg = new TableImportEventArgs(source, tableName, this.m_Namespace + tableName);
                            this.OnTableImportedEventHandle(arg);
                        }
                    }
                    access.CloseCurrentDatabase();
                    access.DoCmd.Quit(AcQuitOption.acQuitSaveAll);
                }
                finally
                {
                    // 判断条件 
                    if (access != null)
                    {
                        Marshal.ReleaseComObject(access);
                    }
                    access = null;
                }
            }

    DoCmd.TransferDatabase 导入有密码的mdb 文件,如何编码实现不出现那个密码提示框?




    http://blog.csdn.net/alonesword/
    2009年11月29日 6:29

答案

全部回复