我有一个Web表单,我在这里放了一个CrystalReportViewer,然后创建了一个空白的CrystalReport并给出了一些格式。
然后以编程方式对某些Visual FoxPro表(.dbf)执行SQL查询。 填充DataTable并将其指向CrystalReport的DataSource。
这很好用,问题是如果报告有超过1张,当我尝试查看另一张纸时,会出现一个窗口询问我登录信息(服务器,数据库名称,用户,密码)。奇怪的是,如果我这样做,但在Windows窗体中没有问我这个信息。
我在另一个问题中看到人们建议使用ConnectionInfo,但问题是我不知道这里应该放什么FoxPro,没有数据库,只有表,用户和密码需要是域用户
我在这里放了一些代码:
string Con = @"Provider=VFPOLEDB.1;Data Source=\\Server IP\Directory\Subdirectory";
OleDbConnection ConnectionHandler = new OleDbConnection(Con);
OleDbDataAdapter DAT = new OleDbDataAdapter();
string SQL ="SQL query with multiple join´s";
DataSet Ds = new DataSet();
DataTable Table = new DBF_empres.DataTable1DataTable();
OleDbCommand Query = new OleDbCommand(SQL, ConnectionHandler);
Query.Parameters.Add(new OleDbParameter("?", "%" + a));
Query.Parameters.Add(new OleDbParameter("?", "%" + a));
DAT = new OleDbDataAdapter(Query);
DAT.Fill(Table);
ConnectionHandler.Close();
var informe = new CrystalReport2();
informe.SetDataSource(Table);
CrystalReportViewer1.ReportSource = informe;
答案 0 :(得分:1)
问题是我不知道应该放在什么地方 FoxPro,没有数据库,只有表,
您可能应该查看以下链接:
在该页面上,您可能会特别注意:
免费表目录
或
连接到单个DBF文件
祝你好运