水晶报表在每次调试的时候,打开它用crystalreportview看时候都会跳出"数据库登录窗口",有没有办法不让它显示,直接打开。

vbhh 2008-11-30 07:54:07
有三个问题
水晶报表在每次调试的时候,打开它用crystalreportview看时候都会跳出"数据库登录窗口"
,有没有办法不让它显示,直接打开。

水晶报表连接的数据库,只要换台电脑都需要重新调试好,即使用本地服务器打点,密码设置的一样也是如此,有没有办法写一段代码吧他所要登陆的服务器,账号,用户名以及密码事先设置好,不与所用电脑绑定,就例如
public SqlConnection conn = new SqlConnection ("server=.; database=money; uid =sa; pwd =snow1987")

然后用 SqlDataAdapter sda4 = new SqlDataAdapter("update intable set 计费时间="+textBox1.Text, conn);
DataSet ds4 = new DataSet();
sda4.Fill(ds4, "bbbb");
Dataset导入datagridview一样的方法

数据库中的数据,如何设置其小数的进位问题,比如一个数据乘法的结果是1808.72.我要他在数据库中显示为1808.80,第二位只要有数字就想第一位进位,并且再调用这个数据是用1808.80来计算。

程序和数据库都在表格文档中,用的是vs2005和sq2005
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbhh 2008-12-01
  • 打赏
  • 举报
回复
上面是我得知的一些解答方法,请各位提供意见,万分感谢!!
vbhh 2008-12-01
  • 打赏
  • 举报
回复

Question 1
//**************************
// Method 1
//**************************
你可以将sqlconnection控件的loginprompt设置为false并且在连接字符串中给出:
UserID='username';password='******'


1. DataBase的Alias和DataBaseName最好不要设置为一样的。其中Alias是在下拉框中选择的你在ODBC或BDE中设置好的数据库别名;DataBaseName中是你自己填的一个虚拟的数据库别名(会出现在其它的数据库控件的DataBaseName属性的下拉框中),供其它的数据库控件连接用,以达到统一管理数据库连接的作用。
2. 连接数据库时,如果想避免弹出登陆对话框,先要设置DataBase的Params属性。共分两栏,第一行的第一栏填user name,第二栏填相应的用户名;第二行的第一栏填password,第二栏填相应的密码。然后再将DataBase的LoginPrompt设为false。这样,Connected为True时就没有登陆对话框了。
3. 如果是你的密码不对,那......


你的数据库连接字符应该保存在CONFIG文件中如:WEB.CONFIG 或 APP.CONFIG
<?xml version="1.0" encoding="utf-8"?><configuration> <configSections> </configSections> <connectionStrings> <addname="ConnectionString" connectionString="Data Source=192.168.1.232;Initial Catalog=XXXDB;Persist Security Info=True;User ID=sa" providerName="System.Data.SqlClient" /> </connectionStrings></configuration>

Question 2:
//**************************
// Method 1
//**************************

//数据库连接,我是从WEB.CONFIG得来的,你可以像你上面写死。
string connStr = ConfigurationSettings.AppSettings["lj"].ToString();
SqlDataSource datasource = new SqlDataSource(connStr, "select * from yang"); //数据集,根据你的需求改SQL语句
ReportDocument doc = new ReportDocument();
TableLogOnInfo logininfo = new TableLogOnInfo();
string path;
//string bgnDate;

path = Server.MapPath("report1.rpt");
doc.Load(path);
//强制登录数据库,我是从WEB.CONFIG得来的,你可以像你上面写死。
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>");
}




//**************************
// Method 2
//**************************
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
crReportDocument = new CrystalReport2();
crConnectionInfo = new ConnectionInfo();
crConnectionInfo.ServerName="mainline";
crConnectionInfo.UserID="cobb";
crConnectionInfo.Password="cobb";
crDatabase=crReportDocument.Database;
crTables=crReportDocument.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table crTable in crTables)
{
crTableLogOnInfo = crTable.LogOnInfo;
crTableLogOnInfo.ConnectionInfo = crConnectionInfo;
crTable.ApplyLogOnInfo(crTableLogOnInfo);
}
CrystalReportViewer1.ReportSource = crReportDocument;
}


//**************************
// Method 3
//**************************

你先到CR编辑环境用数据库专家,修改你的数据库连接属性。
在程序里,把你的CR添加到项目里,比如叫MYCR.rpt。
实例化一个报表对象MYCR CR1 = new MYCR();
需要引入using CrystalDecisions.Shared;
然后在程序初始化的时候写上
TableLogOnInfo LInfo = new TableLogOnInfo();
LInfo.ConnectionInfo.ServerName = "CE10";
LInfo.ConnectionInfo.DatabaseName = "CE10";
LInfo.ConnectionInfo.UserID = "sa";
LInfo.ConnectionInfo.Password = "";
for(int i=0;i<oRpt.Database.Tables.Count;i++)
{
CR1.Database.Tables[i].ApplyLogOnInfo(LInfo);
}



Question 3:
//**************************
// Method 1
//**************************
select convert(numeric(8,2),@num)+0.01 from table
@num为字段名

//**************************
// Method 2
//**************************
double dValue = 0.2356;
double result = System.Math.Round(dValue,2);

===> 0.24

//**************************
// Method 3
//**************************
double d = 12.341;
double r = Math.Ceiling(d * 100) / 100;
Console.WriteLine(r);


//**************************
// Method 4
//**************************
public static double Round(double input)
{
string str = input.ToString();
if (str.Length - 1 - str.IndexOf('.') == 2)
return int.Parse(str[str.Length - 1].ToString()) > 5 ? Math.Round(input, 1) : Math.Round(input, 1) + 0.1;
return input;
}


Note -- Pl. access below website for more information

//**************************
http://hi.csdn.net/home.html
http://community.csdn.net/
//**************************
mengxj85 2008-11-30
  • 打赏
  • 举报
回复
server=.; database=money; uid =sa; pwd =snow1987
如一楼所说的,写在配置文件里就不用老连接了
huiaccp 2008-11-30
  • 打赏
  • 举报
回复
做个开发,最好自己多写点代码,不要用绑定
huiaccp 2008-11-30
  • 打赏
  • 举报
回复
使用强类型dataset 做crystal report的数据源
孤独侠客123 2008-11-30
  • 打赏
  • 举报
回复
public SqlConnection conn = new SqlConnection ("server=.; database=money; uid =sa; pwd =snow1987")

你把配置信息写在配置文件里没有吗?
Crystal Reports 9.2 中文版(水晶报表) 下载,,软件版本:9.2.0.448不过现已出了Crystal Reports Professional v9.2.2.634 (c) Crystal Decisions,有足够的空间就提供.这是一个很不错的报表控件,我相信很多朋友都听说过吧!Crystal Reports 用于处理数据库,帮助用户分析和解释重要信息。使用 Crystal Reports 可以方便地创建简单报表,同时它也提供了创建复杂或专用的报表所需的整套工具。 创建所能想象的任何报表 Crystal Reports几乎可以从任何数据源生成您需要的报表。内置报表专家在您生成报表和完成一般的报表任务过程中,一步一步地指导您进行操作。报表专家通过公式、交叉表、子报表和设置条件格式帮助表现数据的实际意义,揭示可能被隐藏掉的重要关系。如果文字和数字确实不够充分,则用地理地图和图形进行形象的信息交流。 将报表扩展到 Web Crystal Reports 的灵活性并未停留在创建报表这一功能上 ?您可以用各种各样的格式发布报表,包括用 Microsoft 的 Word 和 Excel 发布、通过电子邮件甚至 Web 发布。高级的 Web 报表功能允许工作组中的其他成员在他们自己的 Web 浏览器中查看或更新共享报表。 将报表并入应用程序通过将 Crystal Reports 的报表处理功能整合到自己的数据库应用程序中,应用程序和 Web 开发人员可以节省开发时间并满足用户的需求。Crystal Reports 支持大多数流行的开发语言,可以方便地在任何应用程序中添加报表。 不论您是 IT 行业的站点管理员,还是营销推广经理,也无论您是金融业的数据库管理员还是 CEO,Crystal Reports 都堪称是一个功能强大的工具,它可以帮助每一个人分析、解释重要信息。感谢 revenant 上传!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧