Динамическое изменение источника данных с помощью бармена с помощью c # - PullRequest
0 голосов
/ 29 августа 2018

Я заполняю данные полей из базы данных барменом, но я не могу сделать то же самое при смене базы данных из кода,

например. Есть шаблон с именем TestLBL.btw , и в шаблоне мы настроили поле базы данных, скажем, TestDB.Name , теперь у меня есть другая база данных, скажем TestDB2 , и это имеют те же поля, что и TestDB , теперь я просто хотел напечатать этикетку с тем же полем в другой базе данных ( TestDB2 ), используя код c #, но это не работает: (

ниже приведен мой пример кода:

btnEngine = new Engine();


                        btnEngine.Start();
                        lblDoc = btnEngine.Documents.Open(ConfigurationManager.AppSettings["BarTenderTemplate_Path"] + templateName);

                        var msg = new Messages();
                        var resolution = new Resolution(300);

                        string connectString = ConfigurationManager.ConnectionStrings["TestDB2"].ConnectionString;
                        SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectString);

                        lblDoc.DatabaseConnections[0].Name = builder.InitialCatalog;
                        lblDoc.DatabaseConnections[0].Server = builder.DataSource;
                        lblDoc.DatabaseConnections[0].UserID = builder.UserID;
                        lblDoc.DatabaseConnections[0].SetPassword(builder.Password);
                        lblDoc.DatabaseConnections.SetDatabaseConnection(lblDoc.DatabaseConnections[0]);

                        lblDoc.DatabaseConnections.QueryPrompts["pRec_Key"].Value = Rec_key.ToString();
                        lblDoc.DatabaseConnections.QueryPrompts["pImage_Path"].Value = Image_Path;

                        var fileName = templateName.Split('.')[0] + "_" + Rec_key.ToString() + ".pdf";

                        var fileFullPath = Path.GetDirectoryName(ConfigurationManager.AppSettings["BarTenderTemplate_Path"]) + "\\" + templateName.Split('.')[0] + "_" + Rec_key.ToString() + ".pdf";
                        var result = lblDoc.ExportPrintPreviewToFile(Path.GetDirectoryName(ConfigurationManager.AppSettings["BarTenderTemplate_Path"]), fileName, ImageType.PDF
                                 , ColorDepth.ColorDepth24bit, resolution, Color.White, OverwriteOptions.Overwrite, true, true, out msg);

                        lblDoc.Close(SaveOptions.SaveChanges);

Выдает ошибку в строке ниже, без каких-либо внутренних исключений,

var result = lblDoc.ExportPrintPreviewToFile (Path.GetDirectoryName (ConfigurationManager.AppSettings ["BarTenderTemplate_Path"]), fileName, ImageType.PDF , ColorDepth.ColorDepth24bit, разрешение, Color.White, OverwriteOptions.Overwrite, true, true, out msg);

Любая помощь будет оценена.!

...