我正在用调酒师填充数据库中的字段数据,但在从代码更改数据库时却无法执行同样的操作,
例如有一个名为 TestLBL.btw 的模板,在模板中,我们已配置数据库字段为 TestDB.Name 字段。现在,我还有另一个数据库为 TestDB2 >并且具有与 TestDB 完全相同的字段,现在我只想使用c#代码使用不同的数据库( TestDB2 )来打印具有相同字段的标签,但这不起作用:(
下面是我的示例代码:
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结果= lblDoc.ExportPrintPreviewToFile(Path.GetDirectoryName(ConfigurationManager.AppSettings [“ BarTenderTemplate_Path”]),fileName,ImageType.PDF ,ColorDepth.ColorDepth24bit,分辨率,Color.White,OverwriteOptions.Overwrite,true,true,out msg);
任何帮助将不胜感激!!
答案 0 :(得分:0)
我无法对此信息发表评论,所以我在这里问我的问题:
- 此行中的错误消息是什么?
var result =
lblDoc.ExportPrintPreviewToFile(
Path.GetDirectoryName(ConfigurationManager.AppSettings["BarTenderTemplate_Path"]),
fileName,
ImageType.PDF,
ColorDepth.ColorDepth24bit,
resolution,
Color.White,
OverwriteOptions.Overwrite, true, true, out msg);
- 您是否在BTW文件数据库中设置了 TestDB2 ?
string connectString = ConfigurationManager.ConnectionStrings["TestDB2"].ConnectionString;
- 您的文件名有效吗?
var fileName = templateName.Split('.')[0] + "_" + Rec_key.ToString() + ".pdf";