2

I'm populating fields data from database with bartender but I'm not able to do same while changing database from code,

e.g. There is a template called TestLBL.btw and in the template we have configured database field say TestDB.Name field now I've another database say TestDB2 and that have exact same fields as TestDB now I just wanted to print label with same field with different database(TestDB2) using c# code but that doesn't works :(

below is my sample code :

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);

It throws an error in below line, without any inner exception,

var result = lblDoc.ExportPrintPreviewToFile(Path.GetDirectoryName(ConfigurationManager.AppSettings["BarTenderTemplate_Path"]), fileName, ImageType.PDF , ColorDepth.ColorDepth24bit, resolution, Color.White, OverwriteOptions.Overwrite, true, true, out msg);

Any help would be appreciated.!

IPS
  • 417
  • 9
  • 22

1 Answers1

0

I could not comment the post so i'll ask my question here:

  1. What is the error message in this line?
var result =  
lblDoc.ExportPrintPreviewToFile(
    Path.GetDirectoryName(ConfigurationManager.AppSettings["BarTenderTemplate_Path"]), 
    fileName, 
    ImageType.PDF, 
    ColorDepth.ColorDepth24bit, 
    resolution, 
    Color.White, 
    OverwriteOptions.Overwrite, true, true, out msg);
  1. Did you set up TestDB2 in your BTW file database?
string connectString = ConfigurationManager.ConnectionStrings["TestDB2"].ConnectionString;
  1. Did your fileName valid?
var fileName = templateName.Split('.')[0] + "_" + Rec_key.ToString() + ".pdf";
Raynoceros
  • 386
  • 2
  • 15