Posts Tagged ‘数据库’

当润乾自带的jdk与应用中的jdk发生冲突如何解决

08.18.2010 by zangmingkun - 0 Comment - 0
Posted in web相关技术

JDK (Java Development Kit)是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。所以要想一个Java程序在虚拟机上准确无误的运行,就必须保证JDK环境的正确性。

润乾报表设计器在默认安装的情况下会自带一个1.5版本的JDK。在使用润乾报表自带的DEMO和服务器制作报表的过程中,使用该版本的JDK是完 全不会出任何兼容性或功能性的问题。然而润乾报表自带的数据库和服务器不能满足相当一部分客户的需求,无论是出于高性能或是其他原因而使用其他数据库和服 务器的客户,稍有不慎就会因为JDK版本的问题而苦恼不已。因为有些大型数据在安装过程中会自带JDK,如ORACLE,POSTGRAS等,它们会根据 与自身性能的完美结合选择自带不同版本的JDK。

对于这类自带JDK的大型数据库,在跟润乾报表结合的时候就需要妥善处理JDK环境,否则就会发生冲突。当数据库自带的JDK版本不等于1.5的情况下,就会发生冲突。报错信息如下:

解决这个问题的方法就是将JDK版本统一。首先关闭设计器,在控制面板的程序中卸载润乾报表。然后重新安装,在进行到如下图所示的步骤时:

选择数据库使用的JDK版本,这样就为润乾报表设置了与数据库使用的同一版本的JDK,成功解决了因JDK版本不同所引发的冲突了。

通过给定日期判断其属于第几季度

08.05.2010 by zangmingkun - 0 Comment - 0
Posted in web报表应用

熟悉润乾报表的人都知道,润乾报表为广大用户提供了功能非常强大、数量非常多的数据处理函数。sql中涉及的函数几乎全部被包括,sql中没有涉及到但是在学习和工作中经常会使用到的函数也被润乾报表收录了很多。这些函数为报表工具的使用提供了便利条件。

很多人在使用润乾报表提供的日期处理函数时会发现这样一个问题,润乾报表26个日期时间函数中,涉及到了获得指定日期时间的年份、月份、日期、小时、分钟等等。如此多的函数中唯独缺少了获得指定日期季度的函数。然而这个函数还经常会被用到。

网络上有一些获得指定日期所属季度的sql语句,但是效果普遍不好。有些语句还依附于指定的数据库,换成其它的数据库则无法达到相同的效果。

下面介绍一种方法获得指定日期所属季度。

例如:下面这张报表对销售业绩进行季度汇总

上表中的数据是按照季度进行汇总的。

(1)在单元格中使用=ds1.group(int((month(订购日期)+2)/3),false),这个公式可以帮助我们获得指定的日期属于第几个季度。先获得指定日期所属的月份,然后根据得到的月份来计算其所属的季度。

(2)这种方法将计算过程放在了数据库中,定义如下sql语句:SELECT *,(month(订购日期)+2)/3 as jd FROM 订单。然后在单元格中直接使用=ds1.group(jd,false)。即可知道指定的日期属于第几季度。

将数据库操作封装到Javabean

01.27.2010 by hewei - 3 Comments - 0
Posted in web报表

封装数据库操作,目的就是为了隐藏java.sql包内的类,在编码中去掉核心的数据库操作代码。以杜绝直接数据库操作容易带来的资源未释放问题。同时也减少了数据库操作的编码量。

   但是很多网友在封装时,却喜欢返回结果集(ResultSet对象),那么这个封装就没有意义了。

   1. 又是直接操作核心数据库类,跟封装前几乎没什么变化。

   2. 结果集总是依赖于它使用的连接(Connection)对象。因此当连接对象在方法内被关闭后,你返回的ResultSet就没有用了。

   如果真的要获得查询数据库的结果集,就把结果集对象内的所有数据,转储到以Map为元素的List对象内。

   当然,这种方式,不能适应大数据量的查询,不过如果真的碰到大数据量的查询,那用什么封装都不好,还是得直接数据库操作. :)))

   下面是简单的数据库操作Javabean的代码

   DbWrapper.java

   import java.sql.*;

   import java.util.*;

   public class DbWrapper

   {

   // 定义连接池对象为静态变量,将一直存在,直到工作目录关闭。

   private static DataSource ds = null;

   // 1.用连接池的方式获得连接

   // 如果不是做多数据库程序,推荐使用此方法

   // 相关内容:在tomcat管理界面配置连接池

快逸报表:连接不上sqlserver2005数据库的一个解决办法

01.17.2010 by hewei - 0 Comment - 0
Posted in web报表应用
快逸报表连接sql2005报错:到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

解决方案

原因:sqlserver2005默认情况下禁用了tcp/ip连接。 手工启动tcp/ip连接的方法, 打开 \Microsoft SQL Server 2005\配置工具\目录下的SQL Server Configuration Manager,选择mssqlserver协议,右边窗口有个tcp/ip协议,启动它。之后要重启sqlserver服务,即可连接成功。 引自: 报表工具知识库
原文链接: 快逸报表:连接不上sqlserver2005数据库的一个解决办法
相关文章: 普及报表系统功能说明 ; 好用的java开发工具快逸报表数据源找不到的一个原因五种常用web服务器jvm参数设置
其他相关内容: 润乾报表 ; RAQSOFT ; 润乾商业智能解决方案

连接不上sqlserver2005数据库的一个解决办法

12.28.2009 by hewei - 0 Comment - 0
Posted in web报表应用
快逸报表连接sql2005报错:到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

解决方案

原因:sqlserver2005默认情况下禁用了tcp/ip连接。 手工启动tcp/ip连接的方法, 打开 \Microsoft SQL Server 2005\配置工具\目录下的SQL Server Configuration Manager,选择mssqlserver协议,右边窗口有个tcp/ip协议,启动它。之后要重启sqlserver服务,即可连接成功。
引自: 报表工具知识库
原文链接: 快逸报表:连接不上sqlserver2005数据库的一个解决办法
相关文章: 普及报表系统功能说明 ; 好用的java开发工具快逸报表数据源找不到的一个原因五种常用web服务器jvm参数设置
其他相关内容: 润乾报表 ; RAQSOFT ; 润乾商业智能解决方案

支持数据库和web发布的免费类excel报表

07.01.2009 by fengzhou - 0 Comment - 0
Posted in java报表相关

行业业务部门的报表人员,有很多都是用excel制作报表的高手。其中的很多人都认为excel在易用性方面非常值得称道,并且常常会问:有什么免费报表工具既有excel的设计界面,又可以把连接数据库的报表发布到web网页上?

这方面做的最好的,当属快逸报表!快逸报表不仅表面看起来”形似”excel的设计界面,而且,在深入的层次上甚至超越了excel。

首先说来,快逸报表具备Excel拥有的各种各样的设计能力,例如合并拆分单元格、自动折行、缩小字体填充、格式刷等等,还包括:单元格所拥有的属性,比如边框、背景色、前景色、字体、字号等等,可以说,凡是Excel有的快逸报表都有。

进一步说,快逸报表可以连接各种关系型、文件型数据库,在数据库基础上进行数据查询、单元格运算、数据转换等等可视化操作。

深入说来,快逸报表在类似excel的基础上,提供了一套完整的报表运算模型,能够很轻松地实现各种报表。比如各种线性报表,如自由式、网格式、分组式、交叉式、统计图等。有了运算报表的能力,Excel的设计模型才能得到质的飞跃,真正成为用户青睐的设计风格。

再深入的说,在excel兼容性方面,用户可以把快逸报表设计好的报表导出成excel模板,以利于对数据进行二次加工处理;而且也能把之前做好了的很多Excel模板直接导入快逸设计器,进行再加工,免去重复设计表样的烦恼。

快逸报表的设计界面如图:

快逸报表类excel的设计界面

引自:报表工具知识库
原文链接:支持数据库和web发布的免费类excel报表
相关文章:数据集由内建还原为sql后没有数据 ; 类Excel设计器的基本标准 ; 在开发Web报表时如何通过程序连接数据源;报表工具之类excel设计风格
其他相关内容:用多源关联分片解决复杂报表难题; 免费.NET报表软件下载; 探讨报表工具;web报表博客

极大降低项目成本的免费web控件

06.10.2009 by fengzhou - 0 Comment - 0
Posted in web相关技术

面对金融危机,软件开发项目的项目经理也都面临考验:如何通过创新来节省成本?

其实,最简单直接的办法就在眼前:选择更容易学习、容易使用、代码率更低的开发控件。

长时间以来,很多软件开发团队都采用SSH(struts、spring、habernate…)的开发架构,现在是时候重新评估这样的选择了。相对于SSH架构的复杂庞大,有没有一种轻量级web控件,可以把java的基于浏览器(B/S)网络程序开发,变成类似VB那样基于客户端(C/S)图形化的编程呢?甚至需要写的代码量比VB还要少?
我们来看一个典型的开发项目-项目A。这个项目的目标是用Java做一个基于网页和数据库的企业管理信息系统(MIS系统),大部分的页面都用来做数据库增删改查操作。按照一般的项目模式实现这个项目,就要请美工来设计各个页面的html界面,请系统架构师来选择各种架构(struts、spring、habernate…)搭建应用程序的基本框架,请熟悉java性能优化的工程师构建底层性能控制部件…
即使负责项目A的您有相当可观的预算和时间搞定了这些,团队中的程序员真正编程的时候,还是要还是花很多时间学习这些架构,并准备好在项目维护阶段搞定这些复杂架构出现的各种复杂问题…
实际上,您和我样,还有更好的选择:让一个免费的web控件―”快逸报表”来搞定这些实现层面的问题!
试想一下,如果项目组成员专心致志的去和最终用户讨论他的业务需求,了解他想存取那些数据,这些数据怎么建表,输入的数据要做怎样的合法检查,数据库中的数据要做怎样的展现和查询…然后,用”快逸报表”快速的实现这些需求和功能。这样的场景对于项目负责人、程序员和最终用户,都是如此的美妙!
而且,如果项目A的后期,最终用户又提出了比较复杂中国式报表,那么项目将会因为采用了快逸报表而锦上添花,因为报表正式快逸报表的强项!
说道这里您不禁要问:对于项目A来说,一个免费的web控件”快逸报表”就能够做到不用写代码实现项目功能么?看看下面的例子,你就知道了。请注意,这些例子中的效果都是图形化的设计器设计出来的,不需要写复杂的Java代码。
下面这些例子,只是快逸报表适用于项目开发的部分示例,如果要详细了解,还是访问快逸的官方网站吧:http://www.quiee.com.cn,想快速了解这个工具最好的办法就是下载用用看。
例子1,项目A中的员工卡片录入页面,集中展示了快逸报表在项目开发中起到的作用:
1) 这个页面是图形化设计器画出来的,不用编写代码。
2) 页面中的单元格和数据库表的存、取关系只需要简单定义即可实现。
3) 页面中的”尊称、职务、地区、城市”这些字段可以来自数据库的代码表,在页面中可以下拉选择。
4) 双击员工照片,可以实现选择照片文件、照片上传和保存入库的操作。
5) “年龄”信息使用了快逸报表的”自动计算”功能,用户输入出生日期之后,程序会自动计算出”年龄”。
6) “邮政编码”信息使用了快逸报表的”合法检查”功能,如果用户输入了不合乎规则的邮政编码,程序会自动弹出提示,请用户修改。

快逸报表</p

例子2,下面这个页面,实现了对于数据库表的增删改查,在项目A中大量出现。用快逸报表可作做到图形化、零代码。即使是比较复杂的自动流水号功能,也不用写java代码。

快逸报表</p

例子3,下图是项目A中常用到的合法性检查功能示例。图中的具体错误信息,在图形化设计器中可以方便的修改,也可以提示某行某列的数据有什么样的错误,很容易就让项目A的界面变得友好。

快逸报表</p

例子4、项目A中有一个情况是:用户在网页上输入”货物数量”,要求能够自动计算出”总运货费”=”货物数量”×”运货费”。因为采用了快逸报表,你只需要在设计器中写一个简单公式即可实现,而不必研究复杂的DHTML和Javascript了。

快逸报表</p

引自:报表工具知识库
原文链接:极大降低项目成本的免费web控件
相关文章:提交数据库时报missing expression ; 快逸报表中心管理系统简介用快逸报表不写代码实现Web应用中的下拉日历
其他相关内容:Web报表工具的新起点 ; .NET Web报表功能介绍; 探讨Web报表工具.net报表研究

快逸报表:连接不上sqlserver2005数据库的一个解决办法

03.15.2009 by hewei - 0 Comment - 0
Posted in web报表应用

快逸报表连接sql2005报错:到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection refused: connect

解决方案

原因:sqlserver2005默认情况下禁用了tcp/ip连接。
手工启动tcp/ip连接的方法,
打开 \Microsoft SQL Server 2005\配置工具\目录下的SQL Server Configuration Manager,选择mssqlserver协议,右边窗口有个tcp/ip协议,启动它。之后要重启sqlserver服务,即可连接成功。

引自:报表工具知识库
原文链接:快逸报表:连接不上sqlserver2005数据库的一个解决办法
相关文章:普及报表系统功能说明 ; 好用的java开发工具快逸报表数据源找不到的一个原因五种常用web服务器jvm参数设置
其他相关内容:润乾报表 ; RAQSOFT ; 润乾商业智能解决方案

“求好用的java开发工具”――从一个“求助”引发的思考

03.10.2009 by hewei - 3 Comments - 0
Posted in java报表相关

“本人学java 编程时感觉到十分的不方便,特别是想建立窗体时,要添加什么控件都要自己写。有没有一个开发工具像VB6.0那样可以直接添加控件而不用用语言添加的啊?”
最近在国内知名搜索上看到这样一篇求助的帖子(http://zhidao.baidu.com/question/26587710.html)。很快的,帖子得到了热心人的回答,最佳答案长达30多行,列举了包括Eclipse在内的近10种java开发工具。但是仔细查看来不难发现:对于原帖的问题,”最佳答案”其实并没有给出一个真正的答复。
那么,到底有没有这样一种开发工具,可以把java的基于浏览器(B/S)网络程序开发,变成类似VB那样基于客户端(C/S)图形化的编程呢?甚至需要写的代码量比VB还要少?著名的编程工具Eclipse是这样一种工具么?
熟悉Eclipse开发的程序员都知道,这个开发工具并不是一个很好的界面设计工具。Eclipse结合Java的各种架构的开发模式,给开发人员提供了灵活性的同时,也提高了复杂性和学习成本。
我们看一个典型的开发项目-项目A。这个项目的目标是用Java做一个基于网页和数据库的企业管理信息系统(MIS系统),大部分的页面都用来做数据库增 删改查操作。按照一般的项目模式实现这个项目,就要请美工来设计各个页面的html界面,请系统架构师来选择各种架构(struts、spring、 habernate…)搭建应用程序的基本框架,请熟悉java性能优化的工程师构建底层性能控制部件…
即使负责项目A的您有相当可观的预算和时间搞定了这些,团队中的程序员真正编程的时候,还是要还是花很多时间学习这些架构,并准备好在项目维护阶段搞定这些复杂架构出现的各种复杂问题…
实际上,您和我样,还有更好的选择:让一个免费的开发工具―”快逸报表“来搞定这些实现层面的问题!
试想一下,如果项目组成员可以专心致志的去和最终用户讨论他的业务需求,了解他想存取那些数据,这些数据怎么建表,输入的数据要做怎样的合法检查,数据库 中的数据要做怎样的展现和查询…然后,用”快逸报表”快速的实现这些需求和功能。这样的场景对于项目负责人、程序员和最终用户,都是如此的美妙!
如果项目A的后期,最终用户又提出了比较复杂中国式报表,那么项目将会因为采用了快逸报表而锦上添花,因为报表正式快逸报表的强项!
说道这里您不禁要问:对于项目A来说,一个免费的报表工具“快逸报表”就能够做到不用写代码实现项目功能么?看看下面的例子,你就知道了。请注意,这些例子中的效果都是图形化的设计器设计出来的,不需要写复杂的Java代码。
下面这些例子,只是快逸报表适用于项目开发的部分示例,如果要详细了解,还是访问快逸的官方网站吧:http://www.quiee.com.cn,想快速了解这个工具最好的办法就是下载用用看。
例子1,项目A中的员工卡片录入页面,集中展示了快逸报表在项目开发中起到的作用:
1) 这个页面是图形化设计器画出来的,不用编写代码。
2) 页面中的单元格和数据库表的存、取关系只需要简单定义即可实现。
3) 页面中的”尊称、职务、地区、城市”这些字段可以来自数据库的代码表,在页面中可以下拉选择。
4) 双击员工照片,可以实现选择照片文件、照片上传和保存入库的操作。
5) “年龄”信息使用了快逸报表的”自动计算”功能,用户输入出生日期之后,程序会自动计算出”年龄”。
6) “邮政编码”信息使用了快逸报表的”合法检查”功能,如果用户输入了不合乎规则的邮政编码,程序会自动弹出提示,请用户修改。

tech2009022701.jpg

例子2,下面这个页面,实现了对于数据库表的增删改查,在项目A中大量出现。用快逸报表可作做到图形化、零代码。即使是比较复杂的自动流水号功能,也不用写java代码。

tech2009022702.jpg
例子3,下图是项目A中常用到的合法性检查功能示例。图中的具体错误信息,在图形化设计器中可以方便的修改,也可以提示某行某列的数据有什么样的错误,很容易就让项目A的界面变得友好。

tech2009022703.jpg
例子4、项目A中有一个情况是:用户在网页上输入”货物数量”,要求能够自动计算出”总运货费”=”货物数量”×”运货费”。因为采用了快逸报表,你只需要在设计器中写一个简单公式即可实现,而不必研究复杂的DHTML和Javascript了。

tech2009022704.jpg

引自:报表工具知识库
原文链接: “求好用的java开发工具”――从一个”求助”引发的思考
相关文章:普及报表系统功能说明 ; 好用的java开发工具

将Excel转换为SQL Server数据库

01.06.2009 by web报表 - 4 Comments - 0
Posted in .net报表相关

Excel是一种非常灵活的电子表格软件,用它可以存储各种数据,本节将对如何将Excel转换为SQL Server数据库进行详细介绍。

1.方案分析

通过Microsoft.Jet.OLEDB.4.0方式可实现使用ADO.NET访问Excel的目的,如以下示例代码为连接Excel数据的字符串:

string strOdbcCon = @”Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=D:”2010年图书销售情况.xls;Extended Properties=Excel 8.0″;

2.实施过程

程序开发步骤:

(1)新建一个网站,命名为25,其主页默认为Default.aspx。

(2)Default.aspx页面中添加一个Table表格,用来布局页面,然后在该Table表格中添加一个iframe框架、两个Button控件和一个GridView控件,其中,iframe框架用来显示原始Excel数据表中的数据;Button控件分别用来将指定Excel中的数据表导入到SQL Server数据库中和将导入SQL Server数据库中的Excel数据绑定到GridView控件上;GridView控件用来显示导入SQL Server数据库中的Excel数据。

(3)程序主要代码如下。

Default.aspx页面中,首先自定义一个LoadData方法,该方法为无返回值类型方法,主要用来将Excel数据表中的数据导入到SQL Server数据库中。LoadData方法实现代码如下:

public void LoadData(string StyleSheet)
{
string strCon = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source =” + Server.MapPath
(”usersdb.xls”) + “;Extended Properties=Excel 8.0″;
OleDbConnection myConn = new OleDbConnection(strCon);
myConn.Open(); //打开数据链接,得到一个数据集
DataSet myDataSet = new DataSet(); //创建DataSet对象
string StrSql = “select * from [" + StyleSheet + "$]“;
OleDbDataAdapter myCommand = new OleDbDataAdapter(StrSql, myConn);
myCommand.Fill(myDataSet, “[" + StyleSheet + "$]“);
myCommand.Dispose();
DataTable DT = myDataSet.Tables[ "[" + StyleSheet + "$]“];
myConn.Close();
myCommand.Dispose();
string strConn = “Data Source=(local);DataBase=Usersdb;Uid=sa;Pwd=”;
SqlConnection conn = new SqlConnection(strConn);
conn.Open();
for (int j = 0; j < DT.Rows.Count; j++)
{
string UserID = DT.Rows[j][0].ToString();
string EmailAddress = DT.Rows[j][1].ToString();
string FirstName = DT.Rows[j][2].ToString();
string LastName = DT.Rows[j][3].ToString();
string Address1 = DT.Rows[j][4].ToString();
string Address2 = DT.Rows[j][5].ToString();
string City = DT.Rows[j][6].ToString();
string strSql = “insert into Usersdb(EmailAddress,FirstName,
LastName,Address1,Address2,City) “;
strSql = strSql + “values(’” + EmailAddress + “‘,’” + FirstName + “‘,
‘” + LastName + “‘,’” + Address1 + “‘,’” + Address2 + “‘,’” + City + “‘)”;
SqlCommand comm = new SqlCommand(strSql, conn);
comm.ExecuteNonQuery();
if (j == DT.Rows.Count - 1)
{
Label1.Visible = true;
}
else
{
Label1.Visible = false;
}
}
conn.Close();
}

单击【Excel数据写入数据库中】按钮,定义一个string类型的变量,用来为LoadData传入参数,然后调用LoadData自定义方法将指定的Excel中的数据表导入到SQL Server数据库中。【Excel数据写入数据库中】按钮的Click事件代码如下:

protected void Button1_Click(object sender, EventArgs e)
{
string StyleSheet = “Sheet1″;
LoadData(StyleSheet);
}

单击【显示导入SQL的Excel数据】按钮,将导入SQL Server数据库中的Excel数据绑定到GridView控件上,显示在页面中。【显示导入SQL的Excel数据】按钮的Click事件代码如下:

protected void Button2_Click(object sender, EventArgs e)
{
string strConn = “Data Source=(local);DataBase=Usersdb;Uid=sa;Pwd=”;
string sqlstr= “select * from Usersdb”;
SqlConnection conn = new SqlConnection(strConn);
SqlDataAdapter myda = new SqlDataAdapter(sqlstr,conn);
DataSet ds = new DataSet();
conn.Open();
myda.Fill(ds, “Usersdb”);
GridView1.DataSource = ds;
GridView1.DataBind();
conn.Close();
}

说明:程序中进行与Excel和SQL Server数据库相关的操作时,首先需要分别添加System.Data.OleDb和System.Data.SqlClient命名空间。

3.补充说明

除了可以将Excel中数据导入到SQL Server数据库外,还可以将其转换为.txt文本文件格式,或者导入到Access或Oracle等数据库中。