vb.net操作数据库之ACCESS(2)
2012-04-06 22:34
260 查看
这一篇我再说说水晶报表的情况。ACCESS中对应水晶报表方面,大家可能会遇到的最多的问题应该就是打开报表后
会出现需要登录的问题。
这个是为什么呢?明明我没有设置密码,怎么会有要输入密码呢?如果你够沉着,如果你的debug经验不缺乏的话,
你会发现在水晶报表跳出输入密码的登录框中,access的路径不是我现在数据库放置的位置,仍然是我在编码的时候
选择的数据库地址。他为什么没有变呢?其实这个时候你需要问,这个地址为什么要变?
当你使用公用服务器的时候,可能不会出现这个问题,因为你不管到哪个客户端使用,服务器地址不会变。然而你用access,
当数据库跟着换了电脑后,服务器地址当然也变了,而你编码中的地址却没有变,这个就是问题出现的原因咯!明白了吧?
其实是很简单的一个道理。
那怎么办呢?老规矩,看代码。
这个代码的方法就是动态加载水晶报表的数据源的过程了,这个是专业说法哦,呵呵!
水晶报表的设计有推和拉的两种方式,也就是push,pull咯!说白了也是动态和静态数据源。水晶报表的使用也很简单,这里我只是
借用ACCESS来顺便说下水晶报表。当然,要想了解更高级或者更细节的东西,需要你自己去研究了。常上CSDN的人肯定知道这里有
一个报表大师:阿泰。可以去他的博客看看啥叫专业。这里我就不啰嗦水晶报表了,呵呵,丢不起这个人
会出现需要登录的问题。
这个是为什么呢?明明我没有设置密码,怎么会有要输入密码呢?如果你够沉着,如果你的debug经验不缺乏的话,
你会发现在水晶报表跳出输入密码的登录框中,access的路径不是我现在数据库放置的位置,仍然是我在编码的时候
选择的数据库地址。他为什么没有变呢?其实这个时候你需要问,这个地址为什么要变?
当你使用公用服务器的时候,可能不会出现这个问题,因为你不管到哪个客户端使用,服务器地址不会变。然而你用access,
当数据库跟着换了电脑后,服务器地址当然也变了,而你编码中的地址却没有变,这个就是问题出现的原因咯!明白了吧?
其实是很简单的一个道理。
那怎么办呢?老规矩,看代码。
‘数据库连接 DBConnection.ConnectionString = DB_CnStr() DBConnection.Open() '开始查询 Dim sql As New System.Text.StringBuilder Dim DT As New DataTable sql.Append(" SELECT * FROM WORDINFO") Dim cmd As New OleDb.OleDbCommand(sql.ToString, DBConnection) Dim RS As OleDb.OleDbDataAdapter = New OleDb.OleDbDataAdapter(cmd) DT = New DataTable RS.Fill(DT) DBConnection.Close() ’以上就是数据库里查询,下面就是把查询结果给水晶报表来显示。 ’先定义报表的位置,接着定义一个报表页面,然后是一个自动登录数据库的 Dim reportPath As String = Application.StartupPath & "/" & "CrystalReport.rpt" Dim rptDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument Dim logonInfo As New CrystalDecisions.Shared.TableLogOnInfo rptDoc.Load(reportPath) ‘这里就是设置数据库登录的信息,ACCESS中有账号密码的话就填,没有的话就全部空, ’如果其他的数据库,如sql就要填服务器和数据库名称了 logonInfo.ConnectionInfo.ServerName = "" logonInfo.ConnectionInfo.DatabaseName = "" logonInfo.ConnectionInfo.UserID = "" logonInfo.ConnectionInfo.Password = "" rptDoc.Database.Tables(0).ApplyLogOnInfo(logonInfo) ‘OK,上面已经登录数据库了,下面就来水晶报表加载数据源了 rptDoc.SetDataSource(DT) rptDoc.Refresh() ’水晶报表的内容都有了,下面用reportview来显示这个报表就好咯 CrystalReportViewer1.ReportSource = rptDoc CrystalReportViewer1.Refresh()
这个代码的方法就是动态加载水晶报表的数据源的过程了,这个是专业说法哦,呵呵!
水晶报表的设计有推和拉的两种方式,也就是push,pull咯!说白了也是动态和静态数据源。水晶报表的使用也很简单,这里我只是
借用ACCESS来顺便说下水晶报表。当然,要想了解更高级或者更细节的东西,需要你自己去研究了。常上CSDN的人肯定知道这里有
一个报表大师:阿泰。可以去他的博客看看啥叫专业。这里我就不啰嗦水晶报表了,呵呵,丢不起这个人
相关文章推荐
- vb.net操作数据库之ACCESS(一)
- vb.net操作数据库之ACCESS(1)
- vb.net操作数据库之ACCESS(1)
- vb.net操作数据库之ACCESS(3)
- VB.NET ACCESS 数据库操作
- vb.net操作数据库之ACCESS(2)
- VB.NET 使用 OleDb 操作 Access 数据库(来自 MSDN)
- vb.net 教程 8-3 数据库操作9-1
- vb.net 教程 8-3 数据库操作11
- ACCESS的ASP.NET中 如果 数据库操作不关闭的话 将会..............
- vb.net操作带空格的数据库字段
- vb.net 教程 8-3 数据库操作6
- vb.net 教程 8-3 数据库操作9-2
- .net 调用Oracle.Data.Access 组件提供的用于批量操作的方法—获取数据库表结构方法和跟参数赋值方法
- vb.net 教程 8-3 数据库操作7
- vb.net操作Access中是关键字的字段
- vb.net 教程 8-3 数据库操作9-3
- vb.net 自定义数据库链接类(Access)
- vb.net连接数据库 Access
- [VB.NET][求助]有关ACCESS表中 主键/关键字 为 自动编号 时与实际数据库同步的问题????