我在asp.net中做了一個水晶報表。我的數據庫是MS-Access 2007.我使用數據集將報告與數據庫連接起來。現在,當我執行程序時,會出現「數據庫登錄失敗」錯誤。用asp.net連接水晶報表時數據庫登錄失敗
如何解決這個問題?
請幫助..
問候 阿布舍克
我在asp.net中做了一個水晶報表。我的數據庫是MS-Access 2007.我使用數據集將報告與數據庫連接起來。現在,當我執行程序時,會出現「數據庫登錄失敗」錯誤。用asp.net連接水晶報表時數據庫登錄失敗
如何解決這個問題?
請幫助..
問候 阿布舍克
我不知道你怎麼可以用數據集進行連接。從你的文章中,我假設你可能正在填充一個數據集,並使用這個數據集與報告進行數據綁定。
在這種情況下,您應該爲數據集中的表格提供一個名稱。
數據集中表的名稱必須與設計報表的表或視圖完全匹配。否則Crystal報表將無法找到它。
ds.Tables[0].Name="yourTableorViewNameHere";
您還需要提供登錄信息到您的報告。
private void myLogonInfo(CrystalDecisions.CrystalReports.Engine.ReportDocument myReport)
{
TableLogOnInfo logOnInfo = new TableLogOnInfo();
string server = "MyServer";
string userID = "User1";
string passwd = "MyPw";
string DBNAME = "MyDB";
int i = 0;
for (i = 0; i <= myReport.Database.Tables.Count - 1; i++)
{
logOnInfo.ConnectionInfo.ServerName = server;
logOnInfo.ConnectionInfo.UserID = userID;
logOnInfo.ConnectionInfo.Password = passwd;
logOnInfo.ConnectionInfo.DatabaseName = DBNAME;
myReport.Database.Tables[i].ApplyLogOnInfo(logOnInfo);
}
}
編輯
這裏是初始化報告
private void ShowRep(dataset ds)
{
ReportDocument rptDoc = new ReportDocument();
rptDoc.Load(Server.MapPath("MyReport.rpt"));
//either assign the dataset to the report here
rptDoc.SetDataSource(ds);
//or provide the login details
//myLogonInfo(rptDoc);
//assign record filtering here
//rptDoc.RecordSelectionFormula = "{RDNewCollections.tdate}>=" + GetCrystalDate(ffdt.Text) ;
// set some report parameters
rptDoc.SetParameterValue(0, ffdt.Text);
rptDoc.SetParameterValue(1, tdt.Text);
//finally assign the report to the reportviewer
Crv.ReportSource = rptDoc;
}
您可以從頁面加載調用此代碼。
如果您使用數據集,則無需傳遞logonifo。如果你沒有使用數據集,那麼你必須調用logoninfo。
我沒有編寫任何代碼將報告連接到數據集。我的訪問數據庫中也沒有用戶名和密碼。在哪裏寫ds.Tables [0] .Name =「yourTableorViewNameHere」(在formload ???)...還有,我必須給每個記錄的登錄信息? – Abhishek 2012-04-16 05:59:52
不,你不能提供每條記錄的登錄信息。 – Deb 2012-04-16 07:03:00
您可以在C:\ Program Files \ Microsoft Visual Studio 9.0 \ Crystal Reports \ Samples \ En \ Code文件夾中找到示例 – Deb 2012-04-16 07:05:14
打開與訪問您的數據庫文件,然後去選項,然後客戶端。
之後,它會工作。
可以顯示爲數據集生成的「asp」代碼 – Raghuveer 2012-04-16 05:33:05