数据库是利用vs2008自带的sql2005直接创建的数据库文件cnps.mdf請問各位..我使用 CrystalReport10.5 做報表.卻一直出現以下訊息,輸入sqlserver 的用戶名及密碼,卻一直無法顯示報表...??求救.....
您请求的报表需要更多信息.
--------------------------------------------------------------------------------
cnpsDataSet
服务器名:
数据库名:
用户名:
密码:
使用集成安全性
您请求的报表需要更多信息.
--------------------------------------------------------------------------------
cnpsDataSet
服务器名:
数据库名:
用户名:
密码:
使用集成安全性
TableLogOnInfo logininfo = new TableLogOnInfo();
string a, b, c, d;
a = System.Configuration.ConfigurationManager.AppSettings[0];
b = System.Configuration.ConfigurationManager.AppSettings[1];
c = System.Configuration.ConfigurationManager.AppSettings[2];
d = System.Configuration.ConfigurationManager.AppSettings[3];
logininfo.ConnectionInfo.ServerName = a;
logininfo.ConnectionInfo.DatabaseName = b;
logininfo.ConnectionInfo.UserID = c;
logininfo.ConnectionInfo.Password = d;
doc.Database.Tables[0].ApplyLogOnInfo(logininfo);
{
string connStr = ConfigurationSettings.AppSettings["lj"].ToString();
SqlDataSource datasource = new SqlDataSource(connStr, "select * from yang");
ReportDocument doc = new ReportDocument();
TableLogOnInfo logininfo = new TableLogOnInfo();
string path;
path = Server.MapPath("report1.rpt");
doc.Load(path);
string a, b, c, d;
a = System.Configuration.ConfigurationManager.AppSettings[0];
b = System.Configuration.ConfigurationManager.AppSettings[1];
c = System.Configuration.ConfigurationManager.AppSettings[2];
d = System.Configuration.ConfigurationManager.AppSettings[3];
logininfo.ConnectionInfo.ServerName = a;
logininfo.ConnectionInfo.DatabaseName = b;
logininfo.ConnectionInfo.UserID = c;
logininfo.ConnectionInfo.Password = d; try
{
doc.Database.Tables[0].ApplyLogOnInfo(logininfo);
doc.Database.Tables[0].SetDataSource(datasource.Select(DataSourceSelectArguments.Empty));
CrystalReportViewer1.ReportSource = doc;
}
catch
{
Response.Write("<script>alert('输出报表失败,请检查输入信息或网络!');</script>");
} }
编译器错误消息: CS0246: 找不到类型或命名空间名称“ReportDocument”(是否缺少 using 指令或程序集引用?)源错误: 行 21: string connStr = ConfigurationSettings.AppSettings["cnpsConnectionString"].ToString();
行 22: SqlDataSource datasource = new SqlDataSource(connStr, "select * from cldd");
行 23: ReportDocument doc = new ReportDocument();行 24: TableLogOnInfo logininfo = new TableLogOnInfo();
行 25: string path;
我加上:
using CrystalDecisions.ReportSource;
还是出现上面的错误
using CrystalDecisions.CrystalReports.Engine;
我在web.config里找到appSettings的设置,可里面没有相关的用户名和密码,也没有数据库和服务名,所以提示了最后的错误的 <appSettings>
<add key="CrystalImageCleaner-AutoStart" value="true"/>
<add key="CrystalImageCleaner-Sleep" value="60000"/>
<add key="CrystalImageCleaner-Age" value="120000"/>
</appSettings>
我的数据库连接如下:
<connectionStrings>
<add name="cnpsConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\cnps.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
索引超出范围。必须为非负值并小于集合大小。
参数名: index
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index源错误:
行 40: b = System.Configuration.ConfigurationManager.AppSettings[1];
行 41: c = System.Configuration.ConfigurationManager.AppSettings[2];
行 42: d = System.Configuration.ConfigurationManager.AppSettings[3];行 43: logininfo.ConnectionInfo.ServerName = a;
行 44: logininfo.ConnectionInfo.DatabaseName = b;
<add key="servername" value="."/>
<add key="database" value="master"/>
<add key="userid" value="sa"/>
<add key="pass" value="123456"/>
<add key="lj" value="Data Source=.;Initial Catalog=fst_center;password=123456;User ID=sa"/>
<add key="CrystalImageCleaner-AutoStart" value="true"/>
<add key="CrystalImageCleaner-Sleep" value="60000"/>
<add key="CrystalImageCleaner-Age" value="120000"/>
</appSettings>上面的那个你库名,登陆用户,密码。改就可以了。
appSettings节点里
<add key="servername" value="."/>
<add key="database" value="master"/>
<add key="userid" value="sa"/>
<add key="pass" value="123456"/>
要加上去。因为你那强制连接的数据就从这里获取过来的。------------------------------
楼主。你那问题是可以解决的啦。来分吧。冲星ing....